body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}[data-theme=dark] .page-container{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .page-header h1,[data-theme=dark] .page-header h2{color:var(--text-primary)}[data-theme=dark] .subtitle{color:var(--text-secondary)}[data-theme=dark] .form-container{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .form-group textarea::placeholder{color:var(--text-tertiary)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--border-color-hover)}[data-theme=dark] .form-group input:disabled,[data-theme=dark] .form-group select:disabled,[data-theme=dark] .form-group textarea:disabled{background:var(--input-disabled)}[data-theme=dark] .filters-section{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .search-input{background:var(--input-bg)}[data-theme=dark] .category-select{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .category-filter-group label,[data-theme=dark] .date-input-group label{color:var(--text-primary)}[data-theme=dark] .filter-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .filter-btn:hover{background:var(--bg-secondary)}[data-theme=dark] .filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}[data-theme=dark] .summary-card{background:var(--bg-secondary)}[data-theme=dark] .summary-item{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .summary-label{color:var(--text-secondary)}[data-theme=dark] .summary-value{color:var(--text-primary)}[data-theme=dark] .expenses-table-container{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .expenses-table thead{background:var(--bg-tertiary);border-bottom-color:var(--border-color)}[data-theme=dark] .expenses-table th{color:var(--text-primary)}[data-theme=dark] .expenses-table td{border-bottom-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .expenses-table tbody tr:hover{background:var(--bg-tertiary)}[data-theme=dark] .amount{color:var(--text-primary)}[data-theme=dark] .category-tag{background:#3b82f633;color:#93c5fd}[data-theme=dark] .file-name-tag{background:#9c27b033;color:#ce93d8}[data-theme=dark] .manual-tag{background:#e6510033;color:#ffb74d}[data-theme=dark] .dropzone{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .dropzone.active{background:#6366f11a;border-color:var(--accent)}[data-theme=dark] .dropzone p{color:var(--text-secondary)}[data-theme=dark] .file-info{background:var(--bg-tertiary)}[data-theme=dark] .file-info p{color:var(--text-secondary)}[data-theme=dark] .merged-expenses-section{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .merged-expense-card{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .merged-card h3,[data-theme=dark] .merged-card h4{color:var(--text-primary)}[data-theme=dark] .expense-count,[data-theme=dark] .merged-date,[data-theme=dark] .merged-info p{color:var(--text-secondary)}[data-theme=dark] .business-name,[data-theme=dark] .expense-amount{color:var(--text-primary)}[data-theme=dark] .breakdown-item{background:var(--bg-tertiary)}[data-theme=dark] .breakdown-item:hover{background:var(--bg-primary)}[data-theme=dark] .detailed-expenses-section{border-top-color:var(--border-color)}[data-theme=dark] .detailed-expenses-section h4{color:var(--text-primary)}[data-theme=dark] .detailed-expenses-table table{background:var(--bg-secondary)}[data-theme=dark] .detailed-expenses-table thead{background:var(--bg-tertiary);border-bottom-color:var(--border-color)}[data-theme=dark] .detailed-expenses-table th{color:var(--text-primary)}[data-theme=dark] .detailed-expenses-table td{border-bottom-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .detailed-expenses-table tbody tr:hover{background:var(--bg-tertiary)}[data-theme=dark] .amount-cell{color:var(--text-primary)}[data-theme=dark] .status-badge.status-approved{background:#4caf5033;color:#81c784}[data-theme=dark] .status-badge.status-pending{background:#ffc10733;color:#ffd54f}[data-theme=dark] .status-badge.status-rejected{background:#f4433633;color:#e57373}[data-theme=dark] .auth-container{background:var(--bg-secondary);box-shadow:0 4px 20px var(--shadow)}[data-theme=dark] .auth-title{color:var(--text-primary)}[data-theme=dark] .auth-subtitle{color:var(--text-secondary)}[data-theme=dark] .auth-form input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .auth-form input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .auth-toggle{color:var(--text-secondary)}[data-theme=dark] .auth-toggle button{color:var(--accent)}[data-theme=dark] .empty-state p{color:var(--text-secondary)}[data-theme=dark] .form-hint{color:var(--text-tertiary)}[data-theme=dark] .category-select-with-button,[data-theme=dark] .custom-category-input-inline{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-add-category{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .loading{color:var(--text-secondary)}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--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 #0000001a;--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(90deg,#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:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{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{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.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{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--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{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@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--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-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--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-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%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.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{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-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--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.global-upload-bar{animation:global-upload-bar-slide-up .3s ease-out;bottom:20px;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);width:min(520px,calc(100vw - 32px));z-index:9999}.global-upload-bar__card{background:linear-gradient(135deg,var(--accent),#a855f7);border-radius:14px;box-shadow:0 12px 32px #4c1d9559,0 4px 12px #00000026;color:#fff;padding:14px 18px;pointer-events:auto}.global-upload-bar__row{align-items:center;display:flex;gap:12px;margin-bottom:10px}.global-upload-bar__icon{flex-shrink:0;font-size:1.4rem}.global-upload-bar__text{flex:1 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-feature-settings:"tnum";font-size:.8rem;font-variant-numeric:tabular-nums;margin-top:2px;opacity:.85}.global-upload-bar__track{background:#ffffff38;border-radius:999px;height:8px;overflow:hidden;position:relative}.global-upload-bar__fill{background:linear-gradient(90deg,#fff,#e0e7ff);border-radius:999px;box-shadow:0 0 12px #fff9;height:100%;transition:width .2s linear}.global-upload-bar__track.is-indeterminate .global-upload-bar__fill{animation:global-upload-bar-indeterminate 1.2s ease-in-out infinite;position:absolute;width:40%}@keyframes global-upload-bar-indeterminate{0%{left:-40%}to{left:100%}}@keyframes global-upload-bar-slide-up{0%{opacity:0;transform:translate(-50%,120%)}to{opacity:1;transform:translate(-50%)}}.auth-container{align-items:center;background:var(--bg-primary);background-image:radial-gradient(at 20% 20%,#6366f12e 0,#0000 50%),radial-gradient(at 80% 60%,#a855f72e 0,#0000 50%),radial-gradient(at 50% 100%,#38bdf81f 0,#0000 50%);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-card{animation:slideUp .4s ease;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);box-sizing:border-box;max-width:440px;overflow-x:hidden;padding:2.5rem;position:relative;width:100%}.auth-header{margin-bottom:2.25rem;text-align:center}.auth-header-controls{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-top:2rem}.auth-header h1{color:var(--text-primary);font-size:2rem;margin:0 0 .5rem;text-align:center}.language-toggle-auth{align-items:center;background:#6366f11a;border:2px solid #6366f133;border-radius:50%;cursor:pointer;display:flex;font-size:1.1rem;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.language-toggle-auth:hover{background:#6366f133;border-color:#6366f166;transform:scale(1.1)}.theme-toggle-auth{align-items:center;background:#6366f11a;border:2px solid #6366f133;border-radius:50%;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.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{gap:1.5rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text-primary);font-size:.95rem;font-weight:600}.form-group input{border:1px solid var(--border-color);border-radius:8px;font-size:1rem;padding:.9rem;transition:all .2s}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.form-group input:disabled{background:var(--bg-tertiary);cursor:not-allowed}.password-hint{color:var(--text-tertiary);font-size:.85rem;font-style:italic;margin-top:-.25rem}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:3rem;width:100%}.password-toggle-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:.25rem .5rem;position:absolute;right:.75rem;transition:opacity .2s ease;z-index:1}.password-toggle-btn:hover:not(:disabled){opacity:.7}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}[data-theme=dark] .password-toggle-btn{color:var(--text-primary)}[dir=rtl] .password-input-wrapper input{padding-left:3rem;padding-right:.9rem}[dir=rtl] .password-toggle-btn{left:.75rem;right:auto}.forgot-password-container{display:flex;justify-content:flex-start;margin-top:.5rem}.forgot-password-link{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:.9rem;padding:0;text-decoration:underline;transition:color .3s ease}.forgot-password-link:hover{color:#5568d3}.forgot-password-link:disabled{cursor:not-allowed;opacity:.6}[data-theme=dark] .forgot-password-link{color:#8b9aff}[data-theme=dark] .forgot-password-link:hover{color:#a8b5ff}.phone-input-wrapper,.phone-input-wrapper .PhoneInput{align-items:center;display:flex;width:100%}.phone-input-wrapper .PhoneInputInput{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;direction:ltr;flex:1 1;font-family:inherit;font-size:1rem;padding:.875rem 1rem;text-align:left;transition:all .3s ease;width:100%}.phone-input-wrapper .PhoneInputInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.phone-input-wrapper .PhoneInputInput:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.phone-input-wrapper .PhoneInputCountry{margin-right:.5rem}.phone-input-wrapper .PhoneInputCountryIcon{border-radius:4px;height:1.5rem;width:1.5rem}.phone-input-wrapper .PhoneInputCountrySelect{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:1rem;margin-right:.5rem;padding:.875rem 1rem;transition:all .3s ease}.phone-input-wrapper .PhoneInputCountrySelect:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}[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-left:.5rem;margin-right:0}[dir=rtl] .phone-input-wrapper .PhoneInputInput{direction:ltr;text-align:left}[dir=rtl] .phone-input-wrapper .PhoneInputCountryIcon{margin-left:.5rem;margin-right:0}.pin-input-container{box-sizing:border-box;direction:ltr!important;display:flex;flex-wrap:nowrap;gap:.75rem;justify-content:center;margin-top:.5rem;max-width:100%;padding:.25rem 0;width:100%}.pin-input{background:var(--input-bg)!important;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary)!important;direction:ltr!important;font-size:1.5rem;font-weight:700;height:3.5rem;text-align:center;text-align:center!important;transition:all .3s ease;width:3.5rem}.pin-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.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{color:var(--text-tertiary);font-size:.9rem;margin-top:1rem;text-align:center}.timer-label{margin-right:.5rem}.timer-value{color:var(--accent);font-weight:600}.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);border:none;border-radius:var(--radius);box-shadow:0 4px 14px #6366f14d;color:#fff;cursor:pointer;font-size:.98rem;font-weight:600;margin-top:1rem;padding:.85rem;transition:filter var(--transition),transform 80ms ease,box-shadow var(--transition)}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #6366f173;filter:brightness(1.06);transform:translateY(-1px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.auth-toggle{border-top:1px solid #e0e6ed;justify-content:center;margin-top:1.5rem;padding-top:1.5rem}.auth-toggle,.auth-toggle p{align-items:center;display:flex;flex-direction:column;gap:.25rem;text-align:center;width:100%}.auth-toggle p{color:var(--text-tertiary);font-size:.95rem;margin:0}.auth-toggle-btn{background:#0000!important;border:1px solid var(--border-color);border-radius:var(--radius);color:var(--accent)!important;cursor:pointer;font-size:.92rem;font-weight:600;margin-top:.5rem;padding:.65rem 1.6rem;transition:background var(--transition),border-color var(--transition)}.auth-toggle-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.auth-toggle-btn:disabled{cursor:not-allowed;opacity:.6}.auth-toggle>.auth-toggle-btn{margin-left:0;margin-right:0;text-align:center}.auth-toggle:has(>.auth-toggle-btn:only-child){padding-left:0;padding-right:0}[data-theme=dark] .auth-container{background:var(--bg-primary);background-image:radial-gradient(at 20% 20%,#818cf829 0,#0000 50%),radial-gradient(at 80% 60%,#a855f729 0,#0000 50%),radial-gradient(at 50% 100%,#38bdf81a 0,#0000 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{background-color:#fff3cd;border:1px solid var(--warning);border-radius:4px;color:#856404;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}[data-theme=dark] .spam-inbox-notice{background-color:#3d2f00;border-color:var(--warning);color:var(--warning)}.google-auth-divider{align-items:center;display:flex;gap:1rem;margin:1.5rem 0}.divider-line{background:#e0e6ed;flex:1 1;height:1px}.divider-text{color:var(--text-tertiary);font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.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-left:0;padding-right:0}.auth-toggle p{align-items:center;text-align:center}.language-toggle-auth{font-size:1.1rem;height:36px;width:36px}.theme-toggle-auth{font-size:1rem;height:36px;width:36px}.pin-input-container{gap:.4rem;justify-content:center;padding:.5rem .25rem}.pin-input{flex-shrink:0;font-size:1.1rem;height:2.5rem;min-width:2.5rem;width:2.5rem}.pin-timer{font-size:.85rem;margin-top:.75rem}.form-group{overflow-x:visible;width:100%}}.auth-loading-overlay{align-items:center;animation:fadeInOverlay .2s ease;background:var(--bg-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:1rem;inset:0;justify-content:center;position:absolute;z-index:10}.auth-loading-overlay p{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0}.auth-loading-spinner{animation:authSpin .8s linear infinite;border-top-color:#6c5cf7;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent,#6c5cf7);height:42px;width:42px}@keyframes authSpin{to{transform:rotate(1turn)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.navbar{padding:.75rem 1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{align-items:center;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;margin:0 auto;max-width:1320px;padding:.6rem 1.4rem}.navbar-brand{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:#0000;cursor:pointer;font-size:1.35rem;font-weight:700;letter-spacing:-.01em;transition:transform .2s ease,filter .2s ease}.navbar-brand:hover{filter:saturate(1.2);transform:scale(1.04)}.hamburger-menu{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:30px;justify-content:space-around;padding:0;width:30px;z-index:1001}.hamburger-line{background:var(--text-primary);border-radius:3px;height:2.5px;transform-origin:center;transition:all .3s ease;width:100%}.hamburger-line.open:first-child{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{align-items:center;display:flex;gap:2rem}.navbar-links{display:flex;gap:1rem}.nav-link{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.92rem;font-weight:500;padding:.5rem .95rem;position:relative;transition:background var(--transition),color var(--transition),border-color var(--transition)}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{box-shadow:0 6px 16px -6px var(--shadow-hover);font-weight:600}.nav-link.active,.nav-link.active:hover{background:var(--gradient-accent);color:#fff}.pending-badge{align-items:center;background:var(--danger);border-radius:var(--radius-pill);box-shadow:0 0 0 2px var(--bg-secondary);color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;justify-content:center;line-height:1;margin-left:6px;min-width:18px;padding:2px 7px}.navbar-user{gap:1rem}.language-toggle,.navbar-user{align-items:center;display:flex}.language-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;font-size:1.05rem;height:38px;justify-content:center;padding:.5rem;transition:background var(--transition),border-color var(--transition),transform var(--transition);width:38px}.language-toggle:hover{background:var(--bg-hover);border-color:var(--accent);transform:scale(1.05)}.theme-toggle{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.05rem;height:38px;justify-content:center;padding:.5rem;transition:background var(--transition),border-color var(--transition),transform .3s ease;width:38px}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--accent);transform:rotate(180deg)}.navbar .user-email{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;line-height:1.2;max-width:220px;overflow:hidden;padding:.4rem .85rem;text-overflow:ellipsis;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.navbar .user-email:hover{border-color:var(--border-strong);color:var(--text-primary)}.navbar .user-email.active{border-color:var(--accent-color,var(--border-strong));color:var(--text-primary)}.logout-btn{background:#0000;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:.88rem;font-weight:600;padding:.45rem .95rem;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{align-items:center;flex-direction:row;justify-content:space-between;position:relative}.hamburger-menu{display:flex}.navbar-menu{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-md);flex-direction:column;gap:.75rem;left:0;max-height:0;opacity:0;overflow:hidden;padding:1rem;position:absolute;right:0;top:100%;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{gap:.5rem}.navbar-links,.navbar-user{flex-direction:column;width:100%}.navbar-user{align-items:stretch;gap:1rem}.user-email{text-align:center}}@media (max-width:640px){.navbar-container{padding:1rem}.navbar-brand{font-size:1.2rem}.navbar-links{flex-direction:column;width:100%}.nav-link{text-align:center;width:100%}.user-email{font-size:.85rem}}.add-expense-modal{max-height:90vh;max-width:700px}.expense-form-modal{display:flex;flex-direction:column;gap:1.25rem}.expense-form-modal .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.expense-form-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.expense-form-modal .form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.expense-form-modal .required{color:#e74c3c}.expense-form-modal .form-group input,.expense-form-modal .form-group select,.expense-form-modal .form-group textarea{background:#fff;background:var(--input-bg,#fff);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s}.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{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.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{min-height:80px;resize:vertical}.expense-form-modal .error-message{background:#fee;border-left:4px solid #e74c3c;border-radius:6px;color:#c33;font-size:.9rem;margin-top:.5rem;padding:.75rem 1rem}[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:#3d3d3d;background:var(--input-bg,#3d3d3d);border-color:#404040;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;border-left-color:#e74c3c;color:#ff6b6b}[dir=rtl] .expense-form-modal .form-group input,[dir=rtl] .expense-form-modal .form-group label,[dir=rtl] .expense-form-modal .form-group select,[dir=rtl] .expense-form-modal .form-group textarea{direction:rtl;text-align:right}[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{align-items:center;background:#f7f9fc;background:var(--input-bg,#f7f9fc);border:1.5px solid #d6dde8;border:1.5px solid var(--border-color,#d6dde8);border-radius:999px;color:#2c3e50;color:var(--text-primary,#2c3e50);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.55rem 1rem;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){border-color:#94a3b8;transform:translateY(-1px)}.expense-form-modal .flag-pill:disabled{cursor:not-allowed;opacity:.55}.expense-form-modal .flag-pill__icon{font-size:1rem;line-height:1}.expense-form-modal .flag-pill--recurring.is-active{background:linear-gradient(135deg,var(--accent),#a855f7);border-color:#0000;box-shadow:0 4px 12px #6366f159;color:#fff}.expense-form-modal .flag-pill--refund.is-active{background:linear-gradient(135deg,#f97316,#ef4444);border-color:#0000;box-shadow:0 4px 12px #ef444459;color:#fff}.expense-form-modal .flag-pill-note{color:#64748b;color:var(--text-secondary,#64748b);font-size:.85rem;line-height:1.4;margin:.25rem 0 0}.expense-form-modal .flag-pill-note--refund{color:#ef4444;font-weight:500}[data-theme=dark] .expense-form-modal .flag-pill{background:#2d2d2d;background:var(--input-bg,#2d2d2d);border-color:#404040;border-color:var(--border-color,#404040);color:#e5e7eb;color:var(--text-primary,#e5e7eb)}[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:#9ca3af;color:var(--text-secondary,#9ca3af)}[data-theme=dark] .expense-form-modal .flag-pill-note--refund{color:#fb7185}@media (max-width:768px){.add-expense-modal{margin:10px;max-width:100%}.expense-form-modal .form-row{grid-template-columns:1fr}}.page-container{margin:0 auto;max-width:1400px;padding:2rem}.page-header{flex-direction:column;gap:1rem;margin-bottom:2rem}.page-header h1{font-size:1.85rem;letter-spacing:-.02em;margin:0}.page-header-title-group{display:flex;flex-direction:column;gap:4px}.page-header-income{color:#64748b;color:var(--text-secondary,#64748b);font-size:.95rem}.page-header-income strong{color:#6366f1;color:var(--accent,#6366f1)}.header-actions{display:flex;flex-wrap:wrap;gap:1rem;overflow:visible}.header-actions .btn{word-wrap:break-word;flex:0 1 auto;line-height:1.4;min-width:-webkit-fit-content;min-width:fit-content;overflow-wrap:break-word;padding:.75rem 1rem;text-align:center;white-space:normal}.delete-dropdown{display:inline-block;overflow:visible;position:relative}.delete-dropdown-menu{animation:dropdownFadeIn .2s ease;background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px #00000026;left:0;margin-top:.5rem;min-width:200px;overflow:visible;position:absolute;top:100%;z-index:9999}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.delete-dropdown-menu .dropdown-item{background:none;border:none;color:var(--danger);cursor:pointer;display:block;font-size:.95rem;padding:.75rem 1rem;text-align:right;transition:background .2s;width:100%}.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:#404040;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);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1.25rem;overflow:visible;padding:1.25rem 1.5rem}.search-box{margin-bottom:1rem;max-width:480px;position:relative}.search-box:before{content:"🔍";font-size:.95rem;left:.9rem;opacity:.6;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}[dir=rtl] .search-box:before{left:auto;right:.9rem}.search-input{background:var(--input-bg);border-radius:var(--radius);font-size:.92rem;padding:.65rem 1rem .65rem 2.4rem;transition:border-color var(--transition),box-shadow var(--transition);width:100%}[dir=rtl] .search-input{padding:.7rem 2.5rem .7rem 1rem}.search-input:focus{box-shadow:0 0 0 3px var(--accent-ring)}@media (max-width:640px){.search-box{max-width:100%}}.filter-actions{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.category-filter-group{display:flex;flex-direction:column;gap:.5rem;max-width:350px;min-width:250px}.category-filter-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.category-select{border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;font-size:.95rem;max-height:300px;padding:.65rem .9rem;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.category-select,.category-select option{background:var(--input-bg);color:var(--text-primary)}.category-select option{padding:.5rem}.category-select:focus,.category-select:hover{border-color:var(--accent)}.category-select:focus{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.date-range-container{align-items:flex-end;animation:slideDown .3s ease-out;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.date-range-container .btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;height:-webkit-fit-content;height:fit-content;justify-content:center;min-height:42px;padding:.6rem 1.1rem;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);white-space:nowrap}.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;border-color:#6c757d;color:#fff}.date-range-container .btn-secondary:hover{background:#5a6268;border-color:#5a6268;color:#fff}[data-theme=dark] .date-range-container .btn{background:var(--bg-secondary);border-color:#404040;border-color:var(--border-color,#404040);color:var(--text-primary)}[data-theme=dark] .date-range-container .btn:hover{background:#3d3d3d;background:var(--hover-bg,#3d3d3d);border-color:var(--primary-color,var(--accent))}[data-theme=dark] .date-range-container .btn-secondary{background:#6c757d;border-color:#6c757d;color:#fff}[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;border:none!important;box-shadow:0 4px 12px #6366f14d;color:#fff!important;font-weight:600;padding:.6rem 1.1rem}.btn-view-graph:hover{box-shadow:0 6px 16px #6366f166!important;filter:brightness(1.05);transform:translateY(-1px)!important}[data-theme=dark] .date-input{background:var(--input-bg,#3d3d3d);border-color:var(--border-color,#404040)}.date-input-group{flex:1 1;min-width:200px}.date-input-group label{color:var(--text-secondary);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.date-input{background:var(--input-bg);border-radius:var(--radius);padding:.6rem .85rem;transition:border-color var(--transition),box-shadow var(--transition)}.date-input:focus{box-shadow:0 0 0 3px var(--accent-ring)}.clear-filters-btn{white-space:nowrap}.filter-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.filter-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.55rem 1.1rem;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);border-color:var(--accent);color:#fff}.summary-card{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.summary-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.4rem;padding:1.25rem 1.4rem;transition:transform var(--transition),border-color var(--transition)}.summary-item:hover{border-color:var(--border-strong);transform:translateY(-2px)}.summary-label{color:var(--text-tertiary);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.summary-value{font-size:1.75rem;letter-spacing:-.02em}.summary-item.approved-summary{background:linear-gradient(135deg,var(--success-soft),#0000);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{align-items:center;display:flex;gap:.6rem;justify-content:flex-end;padding:0 .5rem}.btn-export{align-items:center;background:var(--success-soft);border:1px solid #10b98159;border-radius:var(--radius);color:var(--success);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:background var(--transition),border-color var(--transition),color var(--transition),transform 80ms ease;white-space:nowrap}.btn-export:hover{background:var(--success);border-color:var(--success);color:#fff;transform:translateY(-1px)}[data-theme=dark] .btn-export{background:#34d39924;border-color:#34d39966;color:#34d399}[data-theme=dark] .btn-export:hover{background:#10b981;border-color:#10b981;color:#fff}.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{border-collapse:collapse;width:100%}.expenses-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.expenses-table th{color:var(--text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.05em;padding:.85rem 1rem;text-align:left;text-transform:uppercase}.expenses-table th.sortable{color:var(--accent);cursor:pointer;font-weight:700;position:relative;transition:background var(--transition),color var(--transition);-webkit-user-select:none;user-select:none}.expenses-table th.sortable:hover{background:var(--bg-hover);color:var(--accent-hover)}.expenses-table th.sortable:active{background:var(--bg-hover)}.sort-arrow{-webkit-margin-start:.35em;display:inline-block;font-size:.7em;line-height:1;margin-inline-start:.35em;opacity:.45;transition:opacity var(--transition),color var(--transition)}.expenses-table th.sortable:hover .sort-arrow{opacity:.8}.sort-arrow.active{color:var(--accent);opacity:1}.expenses-table td{color:var(--text-secondary);font-size:.92rem;padding:.85rem 1rem;vertical-align:middle}.expenses-table tbody tr{border-bottom:1px solid var(--border-color);height:56px;min-height:56px;transition:background var(--transition)}.expenses-table tbody tr:hover{background:var(--bg-hover)}.expenses-table tbody tr:last-child{border-bottom:none}.category-cell{align-items:flex-start;display:inline-flex;flex-direction:column;gap:.3rem}.category-tag{background:var(--accent-soft);border:1px solid #0000;border-radius:var(--radius-pill);color:var(--accent);display:inline-block;font-size:.8rem;font-weight:600;padding:.22rem .7rem}.subcategory-tag{background:#0000;border:1px solid var(--border-color);border-radius:var(--radius-pill);color:var(--text-secondary);display:inline-block;font-size:.72rem;font-weight:500;padding:.18rem .6rem;white-space:nowrap}.subcategory-tag:before{-webkit-margin-end:.3rem;content:"•";margin-inline-end:.3rem;opacity:.6}.file-name-tag{background:#a855f71f;color:#a855f7;cursor:help;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name-tag,.manual-tag{border:1px solid #0000;border-radius:var(--radius-pill);display:inline-block;font-size:.8rem;font-weight:600;padding:.22rem .7rem}.manual-tag{background:var(--warning-soft);color:var(--warning)}.recurring-tag{background:#14b8a61f;border:1px solid #0000;border-radius:var(--radius-pill);color:#14b8a6;display:inline-block;font-size:.8rem;font-weight:600;padding:.22rem .7rem}.amount{font-feature-settings:"tnum";color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:600}.amount-refund{align-items:baseline;color:#6b7280;color:var(--text-secondary,#6b7280);display:inline-flex;gap:.25rem}.amount-refund .amount-original{font-size:.85em;font-weight:500;opacity:.8;text-decoration:line-through}.status-badge{border:1px solid #0000;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:.28rem .75rem}.badge-approved{background:var(--success-soft);border-color:#10b9814d;color:var(--success)}.badge-rejected{background:var(--danger-soft);border-color:#ef44444d;color:var(--danger)}.badge-pending{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.level-badge{border:1px solid #0000;border-radius:var(--radius-pill);display:inline-block!important;font-size:.78rem;font-weight:700;letter-spacing:.02em;opacity:1!important;padding:.28rem .8rem;text-transform:capitalize;visibility:visible!important}.level-low{background:#14b8a624;border-color:#14b8a64d;color:#0d9488}.level-medium{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.level-high{background:#f9731624;border-color:#f973164d;color:#ea580c}.level-critical,.level-very-high,.level-very_high{background:var(--danger);border-color:var(--danger);color:#fff}.level-unknown{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-tertiary)}.level-refund{background:var(--success-soft);border-color:#10b9814d;color:var(--success)}[data-theme=dark] .level-low{color:#5eead4}[data-theme=dark] .level-high{color:#fb923c}.level-cell{min-width:100px;padding:1rem!important;text-align:center;white-space:nowrap}.expenses-table td.actions{padding:1rem;text-align:center}.actions{align-items:center;display:flex;gap:.5rem;justify-content:center;margin:0 auto;width:-webkit-fit-content;width:fit-content}.btn-delete{background:var(--danger-soft);border:1px solid #0000;color:var(--danger)}.btn-delete:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff;transform:scale(1.05)}.merged-by-business .business-cell{color:var(--text-primary);font-weight:600}.count-badge{align-items:center;background:var(--accent-soft);border-radius:var(--radius-pill);color:var(--accent);display:inline-flex;font-size:.8rem;font-weight:700;height:1.6rem;justify-content:center;min-width:1.6rem;padding:0 .5rem}.count-badge,.merged-by-business .date-range-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.merged-by-business .date-range-cell{color:var(--text-secondary);white-space:nowrap}.merged-refund-note{color:var(--success);font-size:.78rem;font-weight:600;white-space:nowrap}@media (max-width:1024px){.expenses-table-container{overflow-x:auto}.expenses-table{min-width:800px}}.warning-banner{align-items:center;animation:slideDown .3s ease-out;background:var(--warning-soft);border-left:4px solid var(--warning);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--warning);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.25rem;padding:.85rem 1.25rem}.warning-content{align-items:center;display:flex;flex:1 1;gap:.75rem}.warning-icon{font-size:1.5rem}.warning-text{font-size:1rem;font-weight:500}.warning-text strong{color:var(--warning);font-weight:700}.btn-warning{background:var(--warning);border:1px solid var(--warning);border-radius:var(--radius);color:#fff;cursor:pointer;font-size:.92rem;font-weight:600;padding:.55rem 1.1rem;transition:filter var(--transition),transform 80ms ease,box-shadow var(--transition);white-space:nowrap}.btn-warning:hover{box-shadow:0 4px 12px #f59e0b59;filter:brightness(.95);transform:translateY(-1px)}@media (max-width:768px){.page-container{padding:1rem}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:1.5rem}.header-actions{width:100%}.header-actions button{word-wrap:break-word;flex:1 1;line-height:1.4;min-width:120px;overflow-wrap:break-word;white-space:normal}.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{align-items:stretch;flex-direction:column}.date-range-container .btn{min-height:48px;width:100%}.date-input-group{min-width:100%;width:100%}.date-input{font-size:16px;min-width:0;width:100%}.filter-buttons{flex-direction:column}.filter-btn{width:100%}.warning-banner{align-items:flex-start;flex-direction:column;gap:1rem}.btn-warning{width:100%}.table-header-actions{gap:.6rem;justify-content:stretch}.table-header-actions .btn,.table-header-actions .btn-export{flex:1 1;justify-content:center;min-height:46px;white-space:nowrap;width:auto}}.loading-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loading-spinner-container{background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;min-width:300px;padding:3rem 2.5rem;text-align:center}.loading-spinner{border:5px solid #f3f3f3;border-radius:50%;border-top-color:#e74c3c;height:60px;margin:0 auto 1.5rem;width:60px}.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}.spinner-small{animation:spin .8s linear infinite;border:2px solid #0003;border-radius:50%;border-top-color:#e74c3c;display:inline-block;height:14px;width:14px}.btn-icon:disabled{cursor:not-allowed;opacity:.6;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:#e74c3c #fff3 #fff3}[dir=rtl] .header-actions,[dir=rtl] .page-header,[dir=rtl] .page-header h1{direction:rtl}[dir=rtl] .header-actions .btn{direction:rtl;text-align:center}[dir=rtl] .category-filter-group label,[dir=rtl] .category-select,[dir=rtl] .date-input,[dir=rtl] .date-input-group label,[dir=rtl] .search-input{direction:rtl;text-align:right}[dir=rtl] .expenses-table td,[dir=rtl] .expenses-table th,[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] .btn .spinner{margin-left:.5rem;margin-right:0}.tooltip-container{position:relative}.tooltip-container:after,.tooltip-container:before{opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease,transform .3s ease;z-index:1000}.tooltip-container:before{word-wrap:break-word;background:#000000e6;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;content:attr(data-tooltip);font-size:.75rem;font-weight:400;left:50%;line-height:1.4;margin-top:8px;max-width:250px;min-width:150px;padding:.4rem .6rem;text-align:left;top:100%;transform:translateX(-50%) translateY(8px);white-space:normal}.tooltip-container:after{border:5px solid;border-color:#0000 #0000 #000000e6;content:"";left:50%;margin-top:2px;top:100%;transform:translateX(-50%) translateY(2px)}.tooltip-container:hover:after,.tooltip-container:hover:before{opacity:1;pointer-events:auto}.tooltip-container:disabled:after,.tooltip-container:disabled:before{display:none}[dir=rtl] .tooltip-container:before{text-align:right}[data-theme=dark] .tooltip-container:before{background:#2d3748f2;border:1px solid #ffffff1a;color:var(--text-primary)}[data-theme=dark] .tooltip-container:after{border-bottom-color:#2d3748f2}@media (max-width:768px){.modal-content{margin:10px;max-width:100%}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.expenses-table td input[type=checkbox]:hover:not(:disabled),.expenses-table th input[type=checkbox]:hover:not(:disabled){transform:scale(1.06)}.expense-table-pagination{border-top:1px solid var(--border-color);display:flex;gap:14px;padding:14px 18px}.expense-table-pagination,.expense-table-pagination .btn{align-items:center;background:var(--bg-secondary);justify-content:center}.expense-table-pagination .btn{border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;height:36px;min-width:40px;padding:0 12px;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{cursor:not-allowed;opacity:.4}.expense-table-pagination .pagination-info{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;padding:0 .4rem}.upload-section{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:3rem;padding:2rem}.subtitle{color:var(--text-tertiary);font-size:1rem;margin-top:.5rem}.file-format-notice{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left:4px solid var(--warning);border-radius:8px;box-shadow:0 2px 8px #ffc10733;color:#856404;font-size:.85rem;margin:1rem auto;max-width:800px;padding:1rem 1.25rem;text-align:center}.notice-header{font-size:.95rem;margin-bottom:.5rem}.notice-header strong{color:#856404;font-size:1rem}.notice-text{font-size:.85rem;line-height:1.4;margin:.5rem 0}.required-columns-list{background:#fff9;border-radius:6px;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.75rem 0;padding:.75rem}.column-requirement{align-items:center;background:var(--bg-secondary);border-radius:6px;box-shadow:0 1px 3px #0000001a;display:inline-flex;gap:.5rem;padding:.4rem .6rem}.column-name{color:var(--text-primary);font-size:.8rem;font-weight:600}.column-badge{border-radius:12px;font-size:.7rem;font-weight:600;letter-spacing:.3px;padding:.2rem .5rem;text-transform:uppercase}.required-badge{background:#e74c3c;color:#fff}.optional-badge{background:#95a5a6;color:#fff}.notice-footer{color:#856404;font-size:.8rem;font-style:italic;margin-bottom:0;margin-top:.5rem}.credit-card-company-note{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 8px #2196f333;margin-top:1rem;padding:.75rem 1rem}.credit-card-company-note .note-text{color:#1565c0;font-size:.9rem;font-weight:600;line-height:1.5;margin:0}.upload-dropzone{background:var(--bg-tertiary);border:3px dashed #cbd5e0;border-radius:12px;padding:3rem 2rem;text-align:center;transition:all .3s}.upload-dropzone:hover{background:#f0f4ff;border-color:var(--accent)}.upload-dropzone.has-file{background:#f0fff4;border-color:#2ecc71}.upload-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.upload-icon{font-size:4rem}.file-icon{font-size:3rem}.upload-text{color:var(--text-primary);font-size:1.2rem;font-weight:600}.upload-subtext{color:var(--text-tertiary);font-size:1rem}.file-input-label{cursor:pointer}.file-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.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{font-size:1.1rem;padding:1rem 2rem}.upload-result{background:#d4edda;border:2px solid #c3e6cb;border-radius:12px;margin-top:2rem;padding:1.5rem}.upload-result h3{color:#155724;font-size:1.2rem;margin-bottom:1rem}.upload-result .result-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.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{color:#0f172a;font-size:1.8rem;font-weight:700}.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}.merged-expenses-section{margin-top:3rem}.merged-expenses-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.merged-expenses-section h2{color:var(--text-primary);font-size:1.8rem;margin:0}.search-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);flex:1 1;font-size:.95rem;max-width:400px;min-width:250px;padding:.75rem 1rem;transition:all .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.search-input::placeholder{color:#95a5a6}.merged-list{display:flex;flex-direction:column;gap:1.5rem}.merged-card{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .2s}.merged-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.merged-header{align-items:center;border-bottom:2px solid #f0f3f7;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.merged-header h3{color:var(--text-primary);font-size:1.2rem}.merged-date{color:var(--text-tertiary);font-size:.9rem}.merged-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.summary-stat{display:flex;flex-direction:column;gap:.25rem}.merged-expenses-breakdown{border-top:2px solid #f0f3f7;margin-top:1.5rem;padding-top:1.5rem}.merged-expenses-breakdown h4{color:var(--text-primary);font-size:1rem;margin-bottom:1rem}.breakdown-list{display:flex;flex-direction:column;gap:.75rem}.breakdown-item{align-items:center;background:var(--bg-tertiary);border-radius:8px;display:flex;justify-content:space-between;padding:.75rem;transition:background .2s}.breakdown-item:hover{background:#e9ecef}.breakdown-info{align-items:center;display:flex;gap:.75rem}.business-name{color:var(--text-primary);font-weight:600}.category-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:.8rem;font-weight:500;padding:.25rem .6rem}.breakdown-stats{align-items:center;display:flex;gap:1rem}.expense-count{color:var(--text-tertiary);font-size:.9rem}.expense-amount{color:var(--text-primary);font-size:1rem;font-weight:700}.btn-view-details{font-size:1rem;margin-top:1.5rem;padding:.75rem;width:100%}.detailed-expenses-section{animation:slideDown .3s ease-out;border-top:2px solid #e0e6ed;margin-top:1.5rem;padding-top:1.5rem}.detailed-expenses-heading,.detailed-expenses-section h4{color:var(--text-primary);display:block;font-size:1.1rem;font-weight:600;margin-bottom:1rem;visibility:visible}.detailed-expenses-table{border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow-x:auto}.detailed-expenses-table table{background:var(--bg-secondary);border-collapse:collapse;width:100%}.detailed-expenses-table thead{background:var(--bg-tertiary);border-bottom:2px solid #e0e6ed}.detailed-expenses-table th{color:var(--text-primary);font-size:.9rem;font-weight:600;padding:.75rem 1rem;text-align:left}.detailed-expenses-table td{border-bottom:1px solid #f0f3f7;color:var(--text-secondary);font-size:.9rem;padding:.75rem 1rem}.detailed-expenses-table tbody tr:hover{background:var(--bg-tertiary)}.detailed-expenses-table tbody tr:last-child td{border-bottom:none}.amount-cell{color:var(--text-primary);font-weight:600}.status-badge{border-radius:12px;display:inline-block;font-size:.8rem;padding:.3rem .7rem;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}@media (max-width:768px){.upload-section{padding:1.5rem}.upload-dropzone{padding:2rem 1rem}.upload-icon{font-size:3rem}.merged-header{align-items:flex-start;flex-direction:column;gap:.5rem}.merged-expenses-header{align-items:stretch;flex-direction:column}.search-input{max-width:100%;width:100%}.merged-summary{grid-template-columns:1fr}.breakdown-item{align-items:flex-start;flex-direction:column;gap:.75rem}.breakdown-stats{justify-content:space-between;width:100%}}[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] .merged-card,[data-theme=dark] .upload-section{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] .supported-formats,[data-theme=dark] .upload-subtext{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{opacity:.7;pointer-events:none;position:relative}.upload-dropzone.disabled{cursor:not-allowed;opacity:.6}.upload-loading-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.upload-loading-content{background:linear-gradient(135deg,var(--accent),#a855f7);border-radius:20px;box-shadow:0 20px 60px #6366f166;color:#fff;max-width:450px;min-width:350px;overflow:hidden;padding:3rem 2.5rem;position:relative;text-align:center}.upload-loading-content:before{animation:rotate 15s linear infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.upload-animation-container{align-items:center;display:flex;height:80px;justify-content:center;margin:0 auto 2rem;position:relative;width:80px}.upload-spinner{animation:spin 2s linear infinite;border:6px solid #fff3;border-radius:50%;border-top-color:#fff;height:70px;position:relative;width:70px;z-index:2}.upload-pulse-ring{animation:pulse 3s ease-out infinite;border:3px solid #ffffff4d;border-radius:50%;height:80px;position:absolute;width:80px}.upload-message-container{display:flex;flex-direction:column;justify-content:center;margin-bottom:1.5rem;min-height:80px}.upload-main-message{animation:fadeInUp .5s ease;color:#fff;font-size:1.3rem;font-weight:600;line-height:1.4;margin:0 0 1rem}.upload-progress-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}.progress-dot{background:#fff6;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.progress-dot.active{background:var(--bg-secondary);box-shadow:0 0 10px #fff9;transform:scale(1.3)}.upload-fun-facts{border-top:1px solid #fff3;margin-top:1.5rem;padding-top:1.5rem}.fun-fact-text{animation:fadeIn .5s ease;color:#ffffffe6;font-size:.9rem;font-style:italic;margin:0}.btn-upload .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:.5rem;vertical-align:middle;width:16px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}to{opacity:0;transform:scale(1.4)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-theme=dark] .upload-loading-content{background:linear-gradient(135deg,var(--accent-hover),#9333ea);box-shadow:0 20px 60px #5a67d880}[data-theme=dark] .upload-loading-content:before{background:radial-gradient(circle,#ffffff26 0,#0000 70%)}[data-theme=dark] .upload-spinner{border-color:#fff #ffffff40 #ffffff40}[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{height:60px;width:60px}.upload-spinner{border-width:4px;height:50px;width:50px}.upload-pulse-ring{height:60px;width:60px}}.preview-loading{color:var(--text-tertiary);padding:2rem;text-align:center}.column-mapping-section{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px #00000014;margin-top:2rem;padding:2rem}.column-mapping-section h3{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.mapping-instruction{color:var(--text-tertiary);font-size:.95rem;margin-bottom:1.5rem}.ai-suggesting-banner{align-items:center;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-left:4px solid #7c3aed;border-radius:8px;color:#5b21b6;display:flex;font-size:.9rem;font-weight:600;gap:.6rem;margin:0 0 1rem;padding:.6rem 1rem}.ai-suggesting-spinner{animation:ai-suggesting-spin .8s linear infinite;border:2px solid #7c3aed40;border-radius:50%;border-top-color:#7c3aed;height:14px;width:14px}@keyframes ai-suggesting-spin{to{transform:rotate(1turn)}}.file-preview-table{background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;overflow-x:auto}.preview-header-info{background:linear-gradient(135deg,var(--accent),#a855f7);border-radius:8px 8px 0 0;color:#fff;margin-bottom:0;padding:.75rem 1rem}.preview-info-text{font-size:.95rem;font-weight:600;margin:0}.file-preview-table table{border-collapse:collapse;font-size:.9rem;width:100%}.file-preview-table thead{background:var(--accent);color:#fff}.file-preview-table th{border-right:1px solid #fff3;font-weight:600;padding:.75rem;text-align:left}.file-preview-table th:last-child{border-right:none}.file-preview-table td{border-bottom:1px solid #f0f3f7;border-right:1px solid #f0f3f7;color:var(--text-secondary);max-width:200px;overflow:hidden;padding:.75rem;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{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.mapping-field{display:flex;flex-direction:column}.mapping-field label{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:.5rem}.mapping-field select{-webkit-appearance:none;appearance:none;background:var(--bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%234a5568' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.95rem;padding:.875rem 2.5rem .875rem 1rem;transition:all .2s;width:100%}.mapping-field select:hover{border-color:var(--accent)}.mapping-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.required{color:#e74c3c;font-weight:700}.optional{color:var(--text-tertiary);font-size:.85rem;font-weight:400}[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{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 td,.file-preview-table th{padding:.5rem}}.modal-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;padding:1rem;z-index:10000}.modal-content{animation:slideUp .3s ease;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:90vw!important;overflow:hidden}.modal-header{background:linear-gradient(135deg,var(--accent),#a855f7);border-bottom:2px solid #f0f3f7;color:#fff;padding:1.5rem 2rem}.modal-header h2{font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.modal-subtitle{font-size:.95rem;font-weight:400;margin:0;opacity:.95}.modal-body{overflow-y:auto;padding:1.5rem 2rem}.header-selection-controls{display:flex;justify-content:center;margin-bottom:1rem}.btn-toggle-view{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;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{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1.5rem;max-height:60vh;overflow-x:auto;overflow-y:auto}.header-selection-table table{border-collapse:collapse;font-size:.9rem;width:100%}.header-selection-table tbody tr{border-bottom:1px solid #f0f3f7;cursor:pointer;transition:all .2s}.header-selection-table tbody tr:hover{background:var(--bg-tertiary);transform:translateX(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);border-right:2px solid #e0e6ed;color:var(--accent);font-weight:700;min-width:50px;padding:.75rem 1rem;text-align:center}.header-selection-table tbody tr.selected-header-row .row-number{background:var(--accent);color:#fff}.header-selection-table td{border-right:1px solid #f0f3f7;color:var(--text-secondary);max-width:200px;overflow:hidden;padding:.75rem 1rem;text-overflow:ellipsis;white-space:nowrap}.header-selection-table td:last-child{border-right:none}.modal-info-text{background:var(--bg-tertiary);border-radius:6px;color:var(--text-tertiary);font-size:.9rem;margin:0 0 1.5rem;padding:.75rem;text-align:center}.modal-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.modal-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:150px;padding:.75rem 1.5rem;transition:all .2s}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff}.modal-actions .btn-primary:hover{box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}.modal-actions .btn-secondary{background:#e0e6ed;color:var(--text-secondary)}.modal-actions .btn-secondary:hover{background:#d0d6dd}[data-theme=dark] .modal-content{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{background:var(--bg-primary);border-color:var(--border-color)}[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{border-right-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .modal-actions .btn-secondary,[data-theme=dark] .modal-info-text{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .modal-actions .btn-secondary{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-height:95vh;max-width:95vw}.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{max-width:150px;padding:.5rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.onboarding-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.onboarding-modal{animation:slideUp .3s ease-out;background:var(--bg-secondary);border-radius:16px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.onboarding-header{border-bottom:2px solid #f0f3f7;padding:2rem 2rem 1rem;text-align:center}.onboarding-header h2{color:var(--text-primary);font-size:1.8rem;font-weight:700;margin:0}.onboarding-content{padding:2rem}.onboarding-step{align-items:center;background:var(--bg-tertiary);border-radius:12px;display:flex;flex-direction:column;margin-bottom:2rem;padding:1.5rem;text-align:center;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{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0 0 .75rem}.onboarding-step p{color:#5a6c7d;font-size:1rem;line-height:1.6;margin:0}.file-format-note{background:#fff3cd;border-left:3px solid var(--warning);border-radius:6px;color:#856404;font-size:.9rem;line-height:1.5;margin-top:.75rem;padding:.5rem .75rem}.onboarding-footer{border-top:2px solid #f0f3f7;padding:1.5rem 2rem 2rem;text-align:center}.onboarding-footer .btn{border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s}.onboarding-footer .btn-primary{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff}.onboarding-footer .btn-primary:hover{box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}.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{max-height:95vh;width:95%}.onboarding-header{padding:1.5rem 1.5rem 1rem}.onboarding-header h2{font-size:1.5rem}.onboarding-content{padding:1.5rem}.onboarding-step{margin-bottom:1.5rem;padding:1.25rem}.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{font-size:1rem;padding:.75rem 1.5rem}}.total-budget-summary{animation:slideDown .3s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:var(--text-primary);margin:1.5rem 0;padding:1.25rem 1.5rem}.total-budget-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.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{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.category-card{background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .2s}.category-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.category-header{align-items:flex-start;border-bottom:2px solid #f0f3f7;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.category-header h3{color:var(--text-primary);font-size:1.2rem;margin:0;word-break:break-word}.category-actions,.category-budget{display:flex;gap:.5rem}.category-budget{flex-direction:column}.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{animation:slideDown .3s ease-out;background:var(--bg-secondary);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:2rem}.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{color:var(--text-primary);font-size:.9rem;font-weight:600}.category-edit-form input{border:1px solid var(--border-color);border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s}.category-edit-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.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{font-size:.9rem;padding:.5rem 1rem}.info-box{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-top:3rem;padding:1.5rem}.info-box h4{color:#1565c0;font-size:1.1rem;margin-bottom:1rem}.info-box ul{padding:0}.info-box li{color:#1976d2;padding:.5rem 0 .5rem 1.5rem;position:relative}.info-box li:before{content:"•";font-weight:700;left:.5rem;position:absolute}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner{animation:spin 1s linear infinite;display:inline-block;margin-right:.5rem}.btn-spinner{-webkit-margin-end:.4rem;animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-inline-end:.4rem;vertical-align:-2px;width:14px}@media (max-width:768px){.categories-grid{grid-template-columns:1fr}.category-header{flex-direction:column;gap:1rem}.category-actions{justify-content:flex-end;width:100%}.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-edit-form label,[data-theme=dark] .category-form-card h3{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)}.suggested-categories-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.suggested-categories-modal{animation:slideUp .3s ease;background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.suggested-categories-header{border-bottom:2px solid #f0f3f7;padding:2rem 2rem 1rem;text-align:center}.suggested-categories-header h2{color:var(--text-primary);font-size:1.8rem;margin-bottom:.5rem}.suggested-categories-subtitle{color:var(--text-tertiary);font-size:1rem;margin:0}.suggested-categories-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:2rem}.suggested-category-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;position:relative;transition:all .2s}.suggested-category-remove{align-items:center;background:#0000;border:none;border-radius:50%;color:#888;color:var(--text-secondary,#888);cursor:pointer;display:flex;font-size:13px;height:26px;inset-inline-end:8px;justify-content:center;line-height:1;position:absolute;top:8px;transition:background .15s ease,color .15s ease;width:26px}.suggested-category-remove:hover{background:#f443361f;color:#f44336}.suggested-category-card:focus-within{background:var(--bg-secondary);border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.suggested-category-form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.suggested-category-form-group:last-child{margin-bottom:0}.suggested-category-form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.suggested-category-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s}.suggested-category-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;outline:none}.suggested-categories-footer{border-top:2px solid #f0f3f7;padding:1.5rem 2rem 2rem;text-align:center}.btn-large{font-size:1.1rem;font-weight:600;padding:1rem 2.5rem}.btn .spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:.5rem;vertical-align:middle;width:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .suggested-categories-modal{background:var(--bg-secondary);box-shadow:0 20px 60px #00000080}[data-theme=dark] .suggested-categories-header{border-bottom-color:var(--border-color)}[data-theme=dark] .suggested-categories-header h2{color:var(--text-primary)}[data-theme=dark] .suggested-categories-subtitle{color:var(--text-secondary)}[data-theme=dark] .suggested-category-card{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .suggested-category-card:focus-within{background:var(--bg-secondary);border-color:var(--accent)}[data-theme=dark] .suggested-category-form-group label{color:var(--text-primary)}[data-theme=dark] .suggested-category-input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .suggested-categories-footer{border-top-color:var(--border-color)}@media (max-width:768px){.suggested-categories-modal{margin:1rem;max-width:100%}.suggested-categories-header{padding:1.5rem 1.5rem 1rem}.suggested-categories-header h2{font-size:1.5rem}.suggested-categories-content{grid-template-columns:1fr;padding:1.5rem}.suggested-categories-footer{padding:1.5rem}.btn-large{padding:1rem;width:100%}.total-budget-content{align-items:flex-start;flex-direction:column;gap:.5rem}.total-budget-value{font-size:1.5rem}}[data-theme=dark] .category-card,[data-theme=dark] .category-form-card,[data-theme=dark] .suggested-categories-card,[data-theme=dark] .total-budget-card{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .category-budget,[data-theme=dark] .category-name,[data-theme=dark] .total-budget-label,[data-theme=dark] .total-budget-value{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);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .suggested-category-pill{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.subcategories{border-top:1px solid var(--border-color);margin-top:1rem;padding-top:.75rem}.subcategories-toggle{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.4rem;padding:0}.subcategories-chevron{font-size:.8rem}.subcategories-count{color:var(--text-tertiary);font-weight:500}.subcategories-body{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.subcategories-empty{color:var(--text-tertiary);font-size:.85rem;margin:0}.subcategories-list{display:flex;flex-direction:column;gap:.4rem;list-style:none;margin:0;padding:0}.subcategory-row{align-items:center;display:flex;gap:.5rem}.subcategory-name{color:var(--text-primary);flex:1 1;font-size:.9rem}.subcategory-estimate{color:var(--text-secondary);font-size:.85rem;font-weight:600;white-space:nowrap}.subcategory-add,.subcategory-edit{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.subcategory-name-input{flex:1 1 100%}.subcategory-estimate-input{flex:1 1 8rem}.subcategory-estimate-input,.subcategory-name-input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm,6px);box-sizing:border-box;color:var(--text-primary);font-size:.85rem;min-width:0;padding:.45rem .6rem}.subcategory-add .btn,.subcategory-edit .btn{flex:0 0 auto}.fc-page{margin:0 auto;max-width:720px;padding:24px 16px 60px}.fc-top-bar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:28px}.fc-title{color:var(--text-primary);flex:1 1;font-size:1.4rem;font-weight:700;margin:0;text-align:center}.fc-back{background:#0000;border:0;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:6px 10px}.fc-back:hover{background:#f3f4f6;background:var(--bg-hover,#f3f4f6)}.fc-stack{margin:0 auto;max-width:480px;position:relative}.fc-card{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:18px;box-shadow:0 12px 32px #0000001f;display:flex;flex-direction:column;min-height:540px;overflow:hidden;z-index:3}.fc-behind-1,.fc-behind-2,.fc-card{background:var(--bg-secondary);position:relative}.fc-behind-1,.fc-behind-2{border-radius:18px;z-index:2}.fc-behind-1{box-shadow:0 4px 12px #0000000f;height:14px;margin:-8px 14px 0;opacity:.7}.fc-behind-2{box-shadow:0 2px 8px #0000000a;height:10px;margin:-6px 28px 0;opacity:.4;z-index:1}.fc-util-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px 16px 0}.fc-delete-link{background:#0000;border:0;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.72rem;padding:4px 8px}.fc-delete-link:hover{background:#fef2f2;color:#ef4444}.fc-delete-link:disabled{cursor:not-allowed;opacity:.5}.fc-back-link{align-items:center;background:#0000;border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:4px 10px;transition:color .15s ease,background .15s ease,border-color .15s ease}.fc-back-link:hover:not(:disabled){background:#6366f114;border-color:#6366f1;color:#6366f1}.fc-back-link:disabled{cursor:not-allowed;opacity:.35}[data-theme=dark] .fc-back-link{border-color:#475569;color:#cbd5e1}[data-theme=dark] .fc-back-link:hover:not(:disabled){background:#6366f12e;border-color:#6366f1;color:#a5b4fc}.fc-card-body{display:flex;flex:1 1;flex-direction:column;padding:8px 28px 28px}.fc-card-body .fc-expense-list{flex:0 0 auto}.fc-card-body .fc-actions{flex-shrink:0;margin-top:auto}.fc-card-body .fc-progress{flex-shrink:0}.fc-biz-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.fc-biz-name{color:var(--text-primary);margin:0}.fc-biz-input,.fc-biz-name{font-size:1.5rem;font-weight:700}.fc-biz-input{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:8px;flex:1 1;min-width:0;padding:4px 10px}.fc-merge-badge{background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:20px;box-shadow:0 2px 8px #4f46e54d;color:#fff;font-size:.72rem;font-weight:600;padding:4px 10px}.fc-date-range{color:var(--text-secondary);font-size:.82rem;margin:0 0 18px}.fc-amount-total{color:var(--text-primary);font-size:2.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.fc-amount-note{color:var(--text-secondary);font-size:.8rem;margin-bottom:14px}.fc-amount-refunded{color:var(--text-secondary);opacity:.75;text-decoration:line-through}.fc-refund-pill{align-self:flex-start;background:#fef3c7;border:1px solid #fde68a;border-radius:999px;color:#92400e;font-size:.7rem;font-weight:600;line-height:1.4;margin:6px 0 14px;max-width:-webkit-max-content;max-width:max-content;padding:2px 10px}[data-theme=dark] .fc-refund-pill{background:#f59e0b2e;border-color:#f59e0b59;color:#fbbf24}.fc-status-pill-approve{background:#dcfce7;border-color:#bbf7d0;color:#166534}[data-theme=dark] .fc-status-pill-approve{background:#22c55e2e;border-color:#22c55e59;color:#4ade80}.fc-status-pill-delete{background:#fee2e2;border-color:#fecaca;color:#991b1b}[data-theme=dark] .fc-status-pill-delete{background:#ef44442e;border-color:#ef444459;color:#f87171}.fc-nav-group{align-items:center;display:flex;gap:8px}.fc-next-link span{display:inline-block;transform:scaleX(-1)}.fc-cat-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 20px}.fc-cat-label{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.fc-cat-chip{background:#eef2ff;border-radius:16px;color:#4338ca;display:inline-block;font-size:.85rem;font-weight:500;padding:6px 14px}.fc-cat-pencil{font-size:.75rem;margin-left:6px;opacity:.6}.fc-cat-position{font-feature-settings:"tnum";align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-secondary);display:inline-flex;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;padding:4px 10px}.fc-cat-input{background:var(--bg-secondary);padding:6px 12px}.category-chip-select,.fc-cat-input{border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;font-size:.85rem}.category-chip-select{appearance:none;-webkit-appearance:none;background-color:var(--bg-secondary);background-image:url("data:image/svg+xml;charset=utf-8,%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%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;color:var(--text-primary);cursor:pointer;font-weight:500;padding:6px 32px 6px 14px;transition:border-color .15s ease,box-shadow .15s ease}.category-chip-select:focus,.category-chip-select:hover{border-color:#6366f1;border-color:var(--accent-color,#6366f1)}.category-chip-select:focus{box-shadow:0 0 0 2px #6366f140;outline:none}.category-chip-select:disabled{cursor:not-allowed;opacity:.55}[dir=rtl] .category-chip-select{background-position:left 10px center;padding:6px 14px 6px 32px}.fc-expense-list{background:var(--bg-tertiary);border-radius:10px;list-style:none;margin:0 0 20px;max-height:140px;overflow:auto;padding:10px 12px}.fc-expense-item{border-bottom:1px dashed #e5e7eb;border-bottom:1px dashed var(--border-color,#e5e7eb);color:var(--text-primary);display:flex;font-size:.78rem;justify-content:space-between;padding:4px 0}.fc-expense-item:last-child{border:0}.fc-expense-amt{font-weight:600}.fc-expense-list-actionable .fc-expense-item{border-radius:6px;gap:10px;padding:8px 4px;transition:background .12s ease}.fc-expense-list-actionable .fc-expense-item:hover{background:#6366f10f}.fc-item-actions{-webkit-margin-end:auto;gap:4px;margin-inline-end:auto}.fc-item-act,.fc-item-actions{align-items:center;display:inline-flex}.fc-item-act{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:50%;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:700;height:26px;justify-content:center;line-height:1;padding:0;transition:transform 80ms ease,background .12s ease,color .12s ease,border-color .12s ease;width:26px}.fc-item-act:hover:not(:disabled){transform:scale(1.08)}.fc-item-act:disabled{cursor:not-allowed;opacity:.4}.fc-item-act-approve:hover:not(:disabled){background:#d1fae5;border-color:#6ee7b7;color:#065f46}.fc-item-act-refund:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd;color:#1e40af}.fc-item-act-delete:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;color:#991b1b}.fc-item-act-active.fc-item-act-approve{background:#10b981;border-color:#10b981;color:#fff}.fc-item-act-active.fc-item-act-refund{background:#f59e0b;border-color:#f59e0b;color:#fff}.fc-item-act-active.fc-item-act-delete{background:#ef4444;border-color:#ef4444;color:#fff}.fc-row-status{-webkit-margin-start:8px;align-self:center;border:1px solid #0000;border-radius:999px;font-size:.68rem;font-weight:600;margin-inline-start:8px;padding:1px 8px}.fc-row-status-approve{background:#dcfce7;border-color:#bbf7d0;color:#166534}.fc-row-status-refund{background:#fef3c7;border-color:#fde68a;color:#92400e}.fc-row-status-delete{background:#fee2e2;border-color:#fecaca;color:#991b1b}[data-theme=dark] .fc-row-status-approve{background:#22c55e2e;border-color:#22c55e59;color:#4ade80}[data-theme=dark] .fc-row-status-refund{background:#f59e0b2e;border-color:#f59e0b59;color:#fbbf24}[data-theme=dark] .fc-row-status-delete{background:#ef44442e;border-color:#ef444459;color:#f87171}.fc-expense-item-delete .fc-expense-amt,.fc-expense-item-delete .fc-expense-meta{opacity:.65;text-decoration:line-through}.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;border-color:#10b981;color:#6ee7b7}[data-theme=dark] .fc-item-act-refund:hover:not(:disabled){background:#3b82f640;border-color:#3b82f6;color:#93c5fd}[data-theme=dark] .fc-item-act-delete:hover:not(:disabled){background:#ef444440;border-color:#ef4444;color:#fca5a5}.fc-actions{grid-gap:8px;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{border:0;border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:600;min-width:0;overflow:hidden;padding:14px;text-align:center;text-overflow:ellipsis;transition:transform .12s,box-shadow .12s,background-color .12s;white-space:nowrap;width:100%}.fc-act:hover{transform:translateY(-1px)}.fc-act:disabled{cursor:not-allowed;opacity:.5;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);box-shadow:0 4px 12px #10b98159;color:#fff}.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{grid-gap:10px;align-items:stretch;display:grid;gap:10px;grid-template-columns:1fr 1fr 1fr}.fc-progress-stat{align-items:center;background:var(--bg-tertiary);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:10px 8px}.fc-progress-stat-cat{background:linear-gradient(135deg,#4f46e514,#7c3aed14);border-color:#4f46e540}.fc-progress-stat-num{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.1}.fc-progress-stat-cat .fc-progress-stat-num{color:#4f46e5}.fc-progress-stat-sep{font-weight:500;margin:0 2px;opacity:.4}.fc-progress-stat-label{color:var(--text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.05em;margin-top:4px;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.fc-progress-label{color:var(--text-primary);font-size:.78rem;font-weight:600}.fc-progress-track{background:#7f7f7f26;border-radius:4px;height:8px;overflow:hidden}.fc-progress-fill{background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:4px;height:100%;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{align-items:center;background:var(--bg-tertiary);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.75rem;gap:6px;padding:4px 10px}.fc-skipped-pill:hover{background:#eef2ff;color:#4338ca}.fc-skipped-view{color:#4f46e5;font-weight:600}.fc-empty{padding:60px 20px;text-align:center}.fc-empty-title{color:var(--text-primary);font-size:1.8rem;margin:0 0 8px}.fc-empty-stats{color:var(--text-secondary);font-size:1rem;margin:0 0 24px}.fc-empty-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.fc-modal-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.fc-modal{background:var(--bg-secondary);border-radius:14px;box-shadow:0 20px 40px #0003;max-width:420px;padding:24px;width:100%}.fc-modal-title{color:var(--text-primary);font-size:1.1rem;margin:0 0 8px}.fc-modal-message{color:var(--text-secondary);font-size:.9rem;margin:0 0 18px}.fc-modal-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.rm-modal{max-width:480px}.rm-option{align-items:flex-start;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:10px;padding:14px;transition:border-color .15s ease,background .15s ease}.rm-option-active,.rm-option:hover:not(.rm-option-disabled){border-color:#6366f1}.rm-option-active{background:#6366f10f}.rm-option-disabled{cursor:not-allowed;opacity:.55}.rm-option input[type=radio]{flex-shrink:0;margin-top:4px}.rm-option-body{flex:1 1;min-width:0}.rm-option-title{color:#111827;color:var(--text-primary,#111827);font-weight:600;margin-bottom:4px}.rm-option-desc{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.85rem}.rm-amount-row{display:flex;flex-direction:column;gap:6px;margin-top:12px}.rm-amount-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem}.rm-amount-input{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #cbd5e1;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;color:#111827;color:var(--text-primary,#111827);font-size:1rem;padding:8px 12px;width:100%}.rm-amount-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.rm-amount-error{color:#ef4444;font-size:.78rem}.rm-amount-remaining{color:#10b981;font-size:.78rem;font-weight:500}[data-theme=dark] .rm-option{background:var(--bg-secondary);border-color:#475569}[data-theme=dark] .rm-option-active{background:#6366f126;border-color:#6366f1}[data-theme=dark] .rm-amount-input{background:#1e293b;background:var(--bg-tertiary,#1e293b);border-color:#475569;color:#f1f5f9}.fc-intro-card{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);background:linear-gradient(135deg,var(--bg-secondary,#f9fafb),var(--bg-tertiary,#f3f4f6));display:flex;flex-direction:column;gap:16px;padding:48px 28px;text-align:center}.fc-intro-lead{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.95rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.fc-intro-category{color:#111827;color:var(--text-primary,#111827);font-size:2rem;font-weight:800;line-height:1.1;word-break:break-word}.fc-intro-count{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.9rem}.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{align-items:center;display:flex;gap:12px;justify-content:space-between}.fc-undo-message{color:var(--text-primary);font-size:.85rem}.fc-undo-button{background:#0000;border:1px solid #4f46e5;border-radius:6px;color:#4f46e5;cursor:pointer;flex-shrink:0;font-size:.8rem;font-weight:600;padding:4px 12px;white-space:nowrap}.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-amount-total,[data-theme=dark] .fc-biz-name,[data-theme=dark] .fc-empty-title,[data-theme=dark] .fc-title{color:var(--text-primary)}[data-theme=dark] .fc-amount-note,[data-theme=dark] .fc-back,[data-theme=dark] .fc-cat-label,[data-theme=dark] .fc-date-range,[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{background:#ef444426;color:#fca5a5}[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{border-bottom-color:var(--border-color);color:var(--text-secondary)}[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--default:has(.fc-undo-toast),[data-theme=dark] .Toastify__toast:has(.fc-undo-toast){background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}[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)}.budget-vs-expenses-page{margin:0 auto;max-width:1400px;padding:24px}.page-header{align-items:flex-start;border-bottom:2px solid #e8ecf1;border-bottom:2px solid var(--border-color,#e8ecf1);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:32px;padding-bottom:24px}.page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent),#a855f7);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 8px}.page-header .subtitle{color:#666;color:var(--text-secondary,#666);font-size:16px;font-weight:400;margin:0}[data-theme=dark] .page-header{border-bottom-color:#404040;border-bottom-color:var(--border-color,#404040)}[data-theme=dark] .page-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--accent),#a855f7);-webkit-background-clip:text;background-clip:text}[data-theme=dark] .page-header .subtitle{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}.view-toggle-container{align-items:center;background:var(--bg-secondary);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:24px;display:flex;gap:12px;padding:8px 16px;transition:all .3s ease}.view-toggle-container:hover{border-color:var(--primary-color,var(--accent));box-shadow:0 2px 8px #6366f11a}.view-toggle-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;-webkit-user-select:none;user-select:none}.view-toggle-label span{border-radius:6px;padding:4px 8px;transition:all .3s ease}.view-toggle-label span.active{background:#6366f11a;color:var(--accent);color:var(--primary-color,var(--accent));font-weight:600}.view-toggle-switch{-webkit-appearance:none;appearance:none;background:linear-gradient(135deg,#ccc,#b0b0b0);border-radius:14px;box-shadow:inset 0 2px 4px #0000001a;cursor:pointer;height:28px;outline:none;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:52px}.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{background:var(--bg-secondary);border-radius:50%;box-shadow:0 2px 6px #0003,0 1px 2px #0000001a;content:"";height:24px;left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);width:24px}.view-toggle-switch:checked:before{box-shadow:0 2px 8px #6366f166,0 1px 3px #0000001a;transform:translateX(24px)}[data-theme=dark] .view-toggle-container{background:var(--bg-secondary);border-color:#404040;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{background:#6366f133;color:#90caf9}[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:translateX(-24px)}.chart-container{background:var(--bg-secondary);border:1px solid #0000000d;border-radius:12px;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;margin-bottom:30px;overflow:hidden;padding:32px;position:relative;transition:box-shadow .3s ease,transform .2s ease}.charts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:30px}.category-chart-card{background:var(--bg-secondary);border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.category-chart-card:before{background:linear-gradient(90deg,var(--accent),#a855f7);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.category-chart-card:hover{border-color:#6366f133;box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;transform:translateY(-4px)}.category-chart-card:hover:before{opacity:1}.category-chart-header{margin-bottom:16px}.category-chart-title{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 12px}.category-chart-stats{display:flex;flex-direction:column;gap:6px}.chart-stat{align-items:center;display:flex;font-size:13px;justify-content:space-between}.stat-label{color:#666;color:var(--text-secondary,#666);font-weight:500}.stat-value{color:var(--text-primary);font-size:14px;font-weight:600}.stat-value.spent{color:#f44336}.category-chart-container{height:250px;margin:16px 0}.category-chart-footer{border-top:1px solid #e8ecf1;border-top:1px solid var(--border-color,#e8ecf1);justify-content:space-between;margin-top:16px;padding-top:16px}.category-chart-footer,.chart-footer-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.chart-legend{display:flex;flex-wrap:wrap;gap:16px}.legend-item{align-items:center;display:flex;font-size:12px;gap:6px}.legend-color{border-radius:3px;display:inline-block;height:12px;width:12px}.legend-text{color:#666;color:var(--text-secondary,#666);font-weight:500}.chart-percentage{align-items:center;display:flex}.percentage-badge{border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:6px 12px}.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:#404040;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:#b0b0b0;color:var(--text-secondary,#b0b0b0)}[data-theme=dark] .stat-value{color:var(--text-primary)}[data-theme=dark] .legend-text{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}[data-theme=dark] .category-chart-footer{border-top-color:#404040;border-top-color:var(--border-color,#404040)}.chart-container:after{bottom:8px;color:#999;color:var(--text-secondary,#999);content:"← →";font-size:12px;opacity:0;pointer-events:none;position:absolute;right:16px;transition:opacity .3s ease;z-index:10}.chart-container:before{background:linear-gradient(90deg,var(--accent),#a855f7);content:"";height:4px;left:0;opacity:.8;position:absolute;right:0;top:0}.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:#e0e0e0;stroke:var(--border-color,#e0e0e0);stroke-opacity:.5}.chart-container .recharts-x-axis .recharts-cartesian-axis-tick text{text-anchor:middle}.chart-container .recharts-x-axis .recharts-cartesian-axis-tick text,.chart-container .recharts-y-axis .recharts-cartesian-axis-tick text{fill:#666;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{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa!important;border:1px solid #e0e0e0!important;border:1px solid var(--border-color,#e0e0e0)!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;padding:12px 16px!important}.chart-container .recharts-tooltip-label{border-bottom:1px solid #e0e0e0!important;border-bottom:1px solid var(--border-color,#e0e0e0)!important;color:var(--text-primary)!important;font-size:14px!important;font-weight:600!important;margin-bottom:8px!important;padding-bottom:8px!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 #404040;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:#404040;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:#b0b0b0;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 #404040!important;border:1px solid var(--border-color,#404040)!important}[data-theme=dark] .chart-container .recharts-tooltip-label{border-bottom-color:#404040!important;border-bottom-color:var(--border-color,#404040)!important;color:var(--text-primary)!important}[data-theme=dark] .chart-container .recharts-tooltip-item{color:var(--text-primary)!important}.date-range-selector{background:var(--bg-secondary);border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;margin-bottom:24px;padding:24px;transition:box-shadow .3s ease}.date-range-selector:hover{box-shadow:0 4px 12px #00000014,0 2px 4px #0000000d}.date-inputs{align-items:flex-end;gap:20px}.date-input-group{gap:8px}.date-input-group label{font-size:14px;font-weight:500}.date-input-group input[type=date]{background:#fff;background:var(--input-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;box-sizing:border-box;color:var(--text-primary);font-size:14px;max-width:100%;min-width:180px;padding:10px;width:100%}.date-input-group input[type=date]:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff40;outline:none}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.summary-card{background:var(--bg-secondary);border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;overflow:hidden;padding:24px;position:relative;text-align:center;transition:all .3s ease}.summary-card:before{background:linear-gradient(90deg,var(--accent),#a855f7);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.summary-card:hover{box-shadow:0 8px 16px #0000001a,0 4px 8px #0000000f;transform:translateY(-4px)}.summary-card:hover:before{opacity:1}.summary-label{color:#666;color:var(--text-secondary,#666);font-size:14px;font-weight:500;margin-bottom:10px}.summary-value{color:var(--text-primary);font-size:24px;font-weight:700}.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{grid-gap:20px;display:grid;gap:20px}.budget-category-card{background:var(--bg-secondary);border:1px solid #0000000d;border-radius:12px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;overflow:hidden;padding:28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.budget-category-card:before{background:linear-gradient(180deg,var(--accent),#a855f7);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.budget-category-card:hover{border-color:#6366f133;box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;transform:translateY(-4px)}.budget-category-card:hover:before{opacity:1}.category-header-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.category-name{color:var(--text-primary);font-size:20px;font-weight:600;margin:0}.status-badge{border-radius:20px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.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{background:var(--bg-tertiary);border-radius:15px;height:30px;overflow:hidden;position:relative;width:100%}.progress-bar-fill{border-radius:15px;height:100%;position:relative;transition:width .3s ease}.progress-text{color:var(--text-primary);font-size:12px;font-weight:600;left:50%;position:absolute;text-shadow:0 1px 2px #fffc;top:50%;transform:translate(-50%,-50%);z-index:1}.budget-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:16px}.budget-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{color:#666;color:var(--text-secondary,#666);font-size:12px;font-weight:500}.detail-value{color:var(--text-primary);font-size:16px;font-weight:600}.detail-value.spent{color:#f44336}.detail-value.remaining{color:#4caf50}.detail-value.over-budget{color:#d32f2f}.category-card-actions{border-top:1px solid #e8ecf1;border-top:1px solid var(--border-color,#e8ecf1);display:flex;justify-content:flex-end;margin-top:20px;padding-top:20px}.btn-go-to{align-items:center;background:linear-gradient(135deg,var(--accent),#a855f7);border:none;border-radius:20px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.btn-go-to:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 2px 8px #6366f166;transform:translateY(-1px)}.btn-go-to:active{transform:translateY(0)}[data-theme=dark] .category-card-actions{border-top-color:#404040;border-top-color:var(--border-color,#404040)}[data-theme=dark] .budget-category-card,[data-theme=dark] .date-range-selector,[data-theme=dark] .summary-card{background:var(--bg-secondary);border:1px solid #404040;border:1px solid var(--border-color,#404040)}[data-theme=dark] .date-input-group input[type=date]{background:#3d3d3d;background:var(--input-bg,#3d3d3d);border-color:#404040;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 #00000080}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color,#ddd);display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:var(--text-primary);font-size:20px;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.modal-close:hover{background-color:#f0f0f0;background-color:var(--hover-bg,#f0f0f0)}.modal-body{flex:1 1;padding:20px}.modal-description{color:#666;color:var(--text-secondary,#666);line-height:1.5;margin-bottom:20px}.default-date-input-group{display:flex;flex-direction:column;gap:12px}.default-date-input-group label{color:var(--text-primary);font-size:14px;font-weight:500}.default-date-input{background:#fff;background:var(--input-bg,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:4px;color:var(--text-primary);font-size:16px;max-width:200px;padding:10px;width:100%}.default-date-input:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 2px #007bff40;outline:none}.current-default-info{color:#666;color:var(--text-secondary,#666);font-size:14px;font-style:italic;margin:0}.modal-footer{border-top:1px solid #ddd;border-top:1px solid var(--border-color,#ddd);display:flex;gap:12px;justify-content:flex-end;padding:20px}.btn{border:none;border-radius:4px;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s,transform .1s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background-color:#007bff;background-color:var(--primary-color,#007bff)}.btn-primary:hover{background-color:#0056b3;background-color:var(--primary-hover,#0056b3)}.btn-secondary{background-color:#6c757d;background-color:var(--secondary-bg,#6c757d);color:#fff}.btn-secondary:hover{background-color:#5a6268;background-color:var(--secondary-hover,#5a6268)}[data-theme=dark] .modal-content{background:var(--bg-secondary);border:1px solid #404040;border:1px solid var(--border-color,#404040)}[data-theme=dark] .default-date-input,[data-theme=dark] .modal-footer,[data-theme=dark] .modal-header{border-color:#404040;border-color:var(--border-color,#404040)}[data-theme=dark] .default-date-input{background:#3d3d3d;background:var(--input-bg,#3d3d3d);color:var(--text-primary)}[data-theme=dark] .modal-close:hover{background-color:#404040;background-color:var(--hover-bg,#404040)}.info-box{background:linear-gradient(135deg,#6366f10d,#764ba20d);border:1px solid #6366f11a;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-top:30px;padding:24px}.info-box h4{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 16px}.info-box ul{list-style:none;margin:0;padding-left:20px}.info-box ul li{color:#666;color:var(--text-secondary,#666);font-size:14px;line-height:1.6;margin-bottom:12px;padding-left:24px;position:relative}.info-box ul li:before{color:var(--accent);content:"✓";font-size:16px;font-weight:700;left:0;position:absolute}.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:#b0b0b0;color:var(--text-secondary,#b0b0b0)}.empty-state{background:var(--bg-secondary);border:2px dashed #e0e0e0;border:2px dashed var(--border-color,#e0e0e0);border-radius:12px;padding:60px 20px}.empty-state p{color:#666;color:var(--text-secondary,#666);font-size:16px;margin:0}[data-theme=dark] .empty-state{background:var(--bg-secondary);border-color:#404040;border-color:var(--border-color,#404040)}[data-theme=dark] .empty-state p{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}@media (max-width:768px){.budget-vs-expenses-page{padding:16px}.page-header{align-items:stretch;flex-direction:column;gap:16px;margin-bottom:24px;padding-bottom:20px}.page-header h1{font-size:24px;margin-bottom:4px}.page-header .subtitle{font-size:14px}.view-toggle-container{justify-content:center;padding:6px 12px;width:100%}.view-toggle-label{font-size:13px;gap:10px}.view-toggle-switch{height:26px;width:48px}.view-toggle-switch:before{height:22px;width:22px}.view-toggle-switch:checked:before{transform:translateX(22px)}.date-range-selector{margin-bottom:20px;padding:16px}.date-inputs{align-items:stretch;flex-direction:column;gap:16px}.date-input-group{width:100%}.date-input-group input[type=date]{font-size:16px;min-width:auto;width:100%}.summary-cards{gap:16px;grid-template-columns:1fr;margin-bottom:24px}.summary-card{padding:20px}.summary-value{font-size:20px}.budget-details-grid{gap:12px;grid-template-columns:1fr}.category-header-section{align-items:flex-start;flex-direction:column;gap:12px}.budget-category-card{padding:20px}.category-name{font-size:18px}.charts-grid{gap:20px;grid-template-columns:1fr}.category-chart-card{padding:16px}.category-chart-title{font-size:16px}.category-chart-container{height:200px;margin:12px 0}.category-chart-footer{align-items:flex-start;flex-direction:column;gap:12px}.chart-footer-right{justify-content:space-between;width:100%}.btn-go-to{padding:12px;width:100%}.chart-legend{justify-content:space-between;width:100%}.chart-container{-webkit-overflow-scrolling:touch;border-radius:8px;margin-bottom:24px;overflow-x:auto;overflow-y:hidden;padding:12px 8px 24px;scrollbar-color:#6366f14d #0000;scrollbar-width:thin}.chart-container:after{bottom:4px;font-size:11px;opacity:.6;right:12px}.chart-container::-webkit-scrollbar{height:6px}.chart-container::-webkit-scrollbar-track{background:#0000}.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{fill:#666!important;fill:var(--text-secondary,#666)!important;text-anchor:middle!important;font-size:11px!important;transform:none!important}.chart-container .recharts-y-axis{transform:translateX(-5px)}.chart-container .recharts-y-axis .recharts-cartesian-axis-tick text{fill:#666!important;fill:var(--text-secondary,#666)!important;font-size:11px!important}.chart-container .recharts-legend-wrapper{display:flex!important;flex-wrap:wrap!important;font-size:12px!important;justify-content:center!important;padding-top:16px!important}.chart-container .recharts-legend-item{margin-bottom:8px!important;margin-right:16px!important}.chart-container .recharts-default-tooltip{font-size:12px!important;max-width:200px!important;padding:10px 12px!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{margin-top:24px;padding:20px}.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}.empty-state{padding:40px 16px}.empty-state p{font-size:14px}.modal-content{margin:10px;max-width:100%}.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{height:24px;width:44px}.view-toggle-switch:before{height:20px;width:20px}.view-toggle-switch:checked:before{transform:translateX(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;max-width:180px!important;padding:8px 10px!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 #e0e0e0;border-left:4px solid #6366f1;border:1px solid var(--border-color,#e0e0e0);border-left:4px solid var(--accent,#6366f1);border-radius:16px;box-shadow:0 2px 8px #6366f114;margin:0 0 24px;padding:14px 18px}.insight-banner-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.insight-banner-title{align-items:center;color:var(--text-primary);display:flex;flex:1 0 auto;font-size:14px;font-weight:600;gap:8px;white-space:nowrap}.insight-banner-icon{font-size:16px;line-height:1}.insight-banner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:flex-end}.insight-banner-btn{background:#6366f10f;background:var(--bg-primary,#6366f10f);border:1px solid #d0d4dd;border:1px solid var(--border-color,#d0d4dd);border-radius:999px;color:#888;color:var(--text-secondary,#888);cursor:pointer;font-size:12px;font-weight:600;line-height:1;padding:5px 14px;transition:background .15s ease,color .15s ease,border-color .15s ease}.insight-banner-btn:hover{background:#6366f11f;border-color:#6366f1;border-color:var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.insight-banner-body{margin-top:10px}.insight-banner-body .insight-line{color:#555;color:var(--text-secondary,#555);font-size:13px;line-height:1.5;margin:0 0 4px}.insight-banner-body .insight-line:last-child{margin-bottom:0}.insight-banner-period{color:#888;color:var(--text-secondary,#888);font-size:12px;font-weight:400;margin:6px 0 0}.insight-generate-btn{font-size:13px;padding:6px 14px}.insight-locked-note{color:#888;color:var(--text-secondary,#888);font-size:12px;line-height:1.4;text-align:end}.insight-remaining-note{color:#999;color:var(--text-secondary,#999);font-size:11px;white-space:nowrap}.insight-coming-soon-badge{background:#6c5ce71f;border:1px solid #6c5ce74d;border-radius:999px;color:#6c5ce7;color:var(--accent-color,#6c5ce7);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.insight-line-muted,.insight-once-note{color:#999;color:var(--text-secondary,#999);font-style:italic}.insight-once-note{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);font-size:10.5px;margin:12px 0 0;opacity:.65;padding-top:8px}.graph-controls-section{background:var(--bg-secondary);border:1px solid #e8ecf1;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:1.5rem;padding:1.5rem 2rem}[data-theme=light] .graph-controls-section{background:var(--bg-secondary);border-color:#e8ecf1}.controls-row{align-items:flex-end;gap:1.5rem}.controls-row,.date-inputs{display:flex;flex-wrap:wrap}.date-inputs{gap:1rem}.date-input-group{display:flex;flex-direction:column;gap:.5rem}.date-input-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.date-input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:.95rem;height:48px;max-width:100%;min-width:160px;padding:.75rem 1rem;transition:all .2s;width:100%}.date-input:focus,.date-input:hover{border-color:var(--accent)}.date-input:focus{box-shadow:0 0 0 3px #6366f11a;outline:none}.range-toggles{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.5rem}.toggle-group{display:flex;flex-direction:column;gap:.5rem}.toggle-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.toggle-buttons{background:#e8eaf0;border-radius:10px;gap:4px;height:48px;padding:4px}.toggle-btn,.toggle-buttons{align-items:center;display:flex}.toggle-btn{background:#0000;border:none;border-radius:8px;color:var(--text-tertiary);cursor:pointer;font-size:.85rem;font-weight:600;gap:.25rem;height:40px;justify-content:center;min-width:70px;padding:.5rem 1.25rem;text-decoration:none;transition:all .2s ease}.toggle-btn:hover{background:#6366f126;color:var(--accent)}.toggle-btn.active{background:linear-gradient(135deg,var(--accent),#a855f7);box-shadow:0 2px 8px #6366f159;color:#fff}.toggle-btn .btn-icon{display:inline-block;font-style:normal}.toggle-btn,.toggle-btn .btn-icon,.toggle-btn:active,.toggle-btn:focus,.toggle-btn:hover{border-bottom:none!important;text-decoration:none!important}.back-btn{align-items:center;display:inline-flex;height:44px;justify-content:center;margin-top:1rem}.graph-summary-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.graph-summary-cards .summary-card{background:var(--bg-secondary);border:1px solid #e8ecf1;border:1px solid var(--border-color,#e8ecf1);border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.5rem}.graph-summary-cards .summary-label{color:#666;color:var(--text-secondary,#666);font-size:.85rem;font-weight:500}.graph-summary-cards .summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.graph-container{background:var(--bg-secondary);border:1px solid #e8ecf1;border:1px solid var(--border-color,#e8ecf1);border-radius:12px;box-shadow:0 2px 8px #0000000f;min-height:450px;padding:2rem}.graph-container .empty-state{align-items:center;color:#666;color:var(--text-secondary,#666);display:flex;font-size:1.1rem;height:400px;justify-content:center}.graph-container .recharts-bar-rectangle{cursor:pointer;transition:opacity .2s,filter .2s}.graph-container .recharts-bar-rectangle:hover{filter:brightness(1.1);opacity:.85}.graph-container .recharts-dot{cursor:pointer;transition:r .2s}.graph-container .recharts-active-dot{cursor:pointer}.custom-tooltip{background:var(--bg-secondary);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;box-shadow:0 4px 12px #00000026;padding:.75rem 1rem}.tooltip-label{color:var(--text-primary);font-size:.9rem;font-weight:600;margin:0 0 .5rem}.tooltip-value{color:var(--accent);font-size:1rem;font-weight:700;margin:0 0 .25rem}.tooltip-count{color:#666;color:var(--text-secondary,#666);font-size:.85rem;margin:0}.tooltip-hint{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);color:var(--accent);font-size:.75rem;font-style:italic;margin:.5rem 0 0;padding-top:.5rem}[data-theme=dark] .graph-controls-section{background:#2d2d2d;border-color:#404040}[data-theme=dark] .date-input-group label,[data-theme=dark] .toggle-group label{color:#e2e8f0}[data-theme=dark] .date-input{background:#3d3d3d;border-color:#404040;color:#e2e8f0}[data-theme=dark] .toggle-buttons{background:#1e1e32cc}[data-theme=dark] .toggle-btn{background:#0000!important;color:#a0aec0}[data-theme=dark] .toggle-btn:hover{background:#6366f133!important;color:#90caf9}[data-theme=dark] .toggle-btn.active{background:linear-gradient(135deg,var(--accent),#a855f7)!important;box-shadow:0 2px 10px #6366f166}[data-theme=dark] .graph-summary-cards .summary-card{background:var(--bg-secondary);border-color:#404040;border-color:var(--border-color,#404040)}[data-theme=dark] .graph-summary-cards .summary-label{color:#a0aec0}[data-theme=dark] .graph-summary-cards .summary-value{color:#e2e8f0}[data-theme=dark] .graph-container{background:var(--bg-secondary);border-color:#404040;border-color:var(--border-color,#404040)}[data-theme=dark] .graph-container .empty-state{color:#a0aec0}[data-theme=dark] .custom-tooltip{background:var(--bg-secondary);border-color:#404040;border-color:var(--border-color,#404040)}[data-theme=dark] .tooltip-label{color:#e2e8f0}[data-theme=dark] .tooltip-count{color:#a0aec0}[data-theme=dark] .tooltip-hint{border-top-color:#404040;border-top-color:var(--border-color,#404040);color:#90caf9}@media (max-width:768px){.graph-controls-section{padding:1rem}.controls-row{flex-direction:column;gap:1rem}.date-inputs{width:100%}.date-input-group{flex:1 1}.date-input{min-width:0;min-width:auto;width:100%}.range-toggles{gap:1rem;width:100%}.toggle-group{flex:1 1}.toggle-buttons{width:100%}.toggle-btn{flex:1 1;font-size:.8rem;padding:.5rem;text-align:center}.graph-container{padding:1rem}.graph-summary-cards{grid-template-columns:1fr}}@media (max-width:480px){.toggle-btn{font-size:.75rem;padding:.4rem .5rem}}[data-theme=dark] .graph-controls-section{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .date-input-group label{color:var(--text-primary)}[data-theme=dark] .date-input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .date-input:hover{border-color:#a5b4fc}[data-theme=dark] .graph-container,[data-theme=dark] .graph-summary-card,[data-theme=dark] .graph-summary-cards{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .empty-state{color:var(--text-secondary)}[data-theme=dark] .toggle-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .toggle-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.income-page{margin:0 auto;max-width:800px;padding:24px 20px 48px}.income-header{margin-bottom:24px}.income-title{font-size:28px;font-weight:700;margin:0 0 8px}.income-subtitle{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:14px;line-height:1.4;margin:0}.income-total-card{background:#6366f114;background:var(--card-bg,#6366f114);border:1px solid #6366f140;border:1px solid var(--border-color,#6366f140);border-radius:12px;display:flex;flex-direction:column;gap:4px;margin-bottom:24px;padding:20px 24px}.income-total-label{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.income-total-value{color:#6366f1;color:var(--accent,#6366f1);font-size:32px;font-weight:700}.income-total-note{color:#94a3b8;color:var(--text-secondary,#94a3b8);font-size:12px}.income-list,.income-list-section{display:flex;flex-direction:column;gap:8px}.income-list{list-style:none;margin:0 0 12px;padding:0}.income-row{grid-gap:12px;align-items:center;background:#94a3b80f;background:var(--row-bg,#94a3b80f);border:1px solid #94a3b826;border:1px solid var(--border-color,#94a3b826);border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) 140px auto;padding:14px 16px}.income-row-editing{background:#6366f114;background:var(--row-bg-active,#6366f114);border-color:#6366f166;grid-template-columns:minmax(0,1fr) 160px auto}.income-row-new{margin-top:4px}.income-row-amount,.income-row-source{font-size:16px;font-weight:600}.income-row-amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.income-row-actions{display:flex;gap:6px}.income-input{background:#0f172a4d;background:var(--input-bg,#0f172a4d);border:1px solid #94a3b84d;border:1px solid var(--input-border,#94a3b84d);border-radius:8px;box-sizing:border-box;color:inherit;font-family:inherit;font-size:15px;min-width:0;padding:10px 14px}.income-input:focus{border-color:#6366f1;border-color:var(--accent,#6366f1);box-shadow:0 0 0 2px #6366f140;outline:none}.income-input-source{width:100%}.income-input-amount{font-feature-settings:"tnum";-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;font-variant-numeric:tabular-nums;text-align:end;width:100%}.income-input-amount::-webkit-inner-spin-button,.income-input-amount::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.income-btn{background:#0000;border:1px solid #94a3b840;border:1px solid var(--border-color,#94a3b840);border-radius:8px;color:inherit;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 14px;transition:background-color .12s ease,border-color .12s ease}.income-btn:hover:not(:disabled){background:#94a3b81a}.income-btn-primary{background:#6366f1;background:var(--accent,#6366f1);border-color:#6366f1;border-color:var(--accent,#6366f1);color:#fff}.income-btn-primary:hover:not(:disabled){background:#6366f1;background:var(--accent,#6366f1);filter:brightness(1.1)}.income-btn-danger{border-color:#ef444466;color:#ef4444}.income-btn-danger:hover:not(:disabled){background:#ef44441a}.income-btn-add{align-self:flex-start;background:#0000;border:1px dashed #6366f1;border:1px dashed var(--accent,#6366f1);color:#6366f1;color:var(--accent,#6366f1)}.income-btn-add:hover{background:#6366f114}.income-empty,.income-loading{border:1px dashed #94a3b840;border:1px dashed var(--border-color,#94a3b840);border-radius:10px;color:#94a3b8;color:var(--text-secondary,#94a3b8);padding:32px;text-align:center}@media (max-width:600px){.income-row{gap:8px;grid-template-columns:1fr}.income-row-amount{text-align:start}.income-input-amount{width:100%}}.profile-page{background:var(--bg-primary);min-height:100vh}.profile-page .level-badge{border:1px solid #0000;border-radius:var(--radius-pill);display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:.28rem .8rem;text-transform:capitalize}.profile-page .level-low{background:#14b8a624;border-color:#14b8a64d;color:#0d9488}.profile-page .level-medium{background:var(--warning-soft);border-color:#f59e0b4d;color:var(--warning)}.profile-page .level-high{background:#f9731624;border-color:#f973164d;color:#ea580c}.profile-page .level-critical{background:var(--danger);border-color:var(--danger);color:#fff}[data-theme=dark] .profile-page .level-low{color:#5eead4}[data-theme=dark] .profile-page .level-high{color:#fb923c}.profile-container{margin:0 auto;max-width:860px;padding:1.5rem 1rem 4rem}.profile-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.profile-header h1{color:var(--text-primary);font-size:1.6rem;margin:0}.profile-subtitle{color:var(--text-secondary);font-size:.92rem;margin:.35rem 0 0}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;border-radius:var(--radius-lg,16px);margin-bottom:1.25rem;padding:1.4rem 1.5rem}.profile-card h2{color:var(--text-primary);font-size:1.15rem;margin:0 0 1rem}.profile-subheading{color:var(--text-secondary);font-size:.95rem;font-weight:600;margin:1.25rem 0 .75rem}.profile-help{color:var(--text-secondary);font-size:.88rem;line-height:1.5;margin:-.4rem 0 1rem}.profile-form{display:flex;flex-direction:column;gap:1.1rem}.profile-field-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field-grid label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.85rem;font-weight:500;gap:.35rem}.profile-field-grid input{background:var(--bg-tertiary);background:var(--input-bg,var(--bg-tertiary));border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius,10px);color:var(--text-primary);font-size:.95rem;padding:.6rem .8rem;transition:border-color .15s ease,box-shadow .15s ease}.profile-field-grid input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140;box-shadow:0 0 0 3px var(--accent-ring,#6366f140);outline:none}.profile-field-grid input:disabled{opacity:.6}.profile-field-grid input.profile-input-readonly{background:var(--bg-secondary);cursor:not-allowed;opacity:.7}.profile-section-head{align-items:stretch;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.profile-range{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.6rem}.profile-range-field{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.78rem;font-weight:500;gap:.25rem}.profile-range-field input{background:var(--bg-tertiary);background:var(--input-bg,var(--bg-tertiary));border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--text-primary);font-size:.85rem;padding:.4rem .55rem}.profile-range-field input:focus{border-color:var(--accent);outline:none}.profile-stats-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.profile-stat{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius,12px);display:flex;flex-direction:column;gap:.3rem;padding:1rem;text-align:center}.profile-stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:700}.profile-stat-label{color:var(--text-secondary);font-size:.8rem}.profile-level-breakdown{display:flex;flex-direction:column;gap:.5rem}.profile-level-row{align-items:center;background:var(--bg-tertiary);border-radius:8px;border-radius:var(--radius-sm,8px);display:flex;gap:.75rem;justify-content:space-between;padding:.45rem .65rem}.profile-level-count{font-feature-settings:"tnum";color:var(--text-primary);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600}.profile-levels{display:flex;flex-direction:column;gap:.6rem}.profile-level-edit{-webkit-border-start:4px solid var(--border-strong);align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-inline-start:4px solid var(--border-strong);border-radius:12px;border-radius:var(--radius,12px);display:flex;gap:.75rem;justify-content:space-between;padding:.7rem .9rem}.profile-level-edit.level-low{border-inline-start-color:#14b8a6}.profile-level-edit.level-medium{border-inline-start-color:#f59e0b;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{font-feature-settings:"tnum";align-items:center;display:flex;font-variant-numeric:tabular-nums;gap:.5rem}.profile-bound{color:var(--text-secondary);font-size:.95rem;font-weight:600}.profile-dash{color:var(--text-tertiary)}.profile-inline-input-wrap{align-items:center;display:inline-flex;gap:.3rem;position:relative}.profile-inline-input{font-feature-settings:"tnum";background:var(--bg-secondary);background:var(--input-bg,var(--bg-secondary));border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--text-primary);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:600;padding:.45rem .6rem;text-align:end;transition:border-color .15s ease,box-shadow .15s ease;width:110px}.profile-inline-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140;box-shadow:0 0 0 3px var(--accent-ring,#6366f140);outline:none}.profile-unit{color:var(--text-secondary);font-weight:600}.profile-error{color:var(--danger);font-size:.85rem;margin:0}.profile-actions{display:flex;flex-wrap:wrap;gap:.75rem}@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 #f4433666}.profile-danger-zone h2{color:#f44336}.profile-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.profile-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px #0000004d;max-width:440px;padding:1.5rem;width:100%}.profile-modal h3{color:#f44336;margin:0 0 .5rem}.profile-modal-label{display:block;margin:1rem 0}.profile-modal-label span{color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:.35rem}.profile-modal-label input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:.6rem .75rem;width:100%}:root[data-theme=light]{--bg-primary:#eef0f6;--bg-secondary:#fff;--bg-tertiary:#f3f4fa;--bg-hover:#eaecf5;--text-primary:#10131c;--text-secondary:#51596b;--text-tertiary:#8b93a6;--border-color:#e5e7f0;--border-strong:#d2d6e3;--border-color-hover:#6c5cf7;--shadow-sm:0 1px 2px #1417260d;--shadow:0 2px 6px #1417260f,0 1px 2px #1417260a;--shadow-md:0 8px 24px #1c1b471a;--shadow-lg:0 24px 56px #1c1b4729;--shadow-hover:#6c5cf738;--input-bg:#fff;--input-disabled:#f1f3f9;--accent:#6c5cf7;--accent-hover:#5a48ec;--accent-soft:#6c5cf71f;--accent-ring:#6c5cf73d;--accent-2:#c061ff;--gradient-accent:linear-gradient(135deg,#6c5cf7,#9d5cff 55%,#c061ff);--gradient-brand:linear-gradient(120deg,#6c5cf7,#b35cff);--glass-bg:#ffffffb8;--glass-border:#fff9;--mesh-1:#6c5cf72e;--mesh-2:#c061ff29;--mesh-3:#38bdf824;--success:#0fae7e;--success-soft:#0fae7e1f;--warning:#f59e0b;--warning-soft:#f59e0b24;--danger:#f0455c;--danger-soft:#f0455c1f;--radius-sm:9px;--radius:13px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--font-display:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--transition:180ms cubic-bezier(0.4,0,0.2,1)}: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;--border-color-hover:#8f86ff;--shadow-sm:0 1px 2px #00000073;--shadow:0 2px 6px #00000080,0 1px 2px #00000059;--shadow-md:0 10px 30px #0000008c;--shadow-lg:0 28px 64px #000000a8;--shadow-hover:#8f86ff4d;--input-bg:#111627;--input-disabled:#080b16;--accent:#8f86ff;--accent-hover:#a9a2ff;--accent-soft:#8f86ff2e;--accent-ring:#8f86ff57;--accent-2:#d18bff;--gradient-accent:linear-gradient(135deg,#8f86ff,#b07dff 55%,#d18bff);--gradient-brand:linear-gradient(120deg,#9f96ff,#d18bff);--glass-bg:#111627a8;--glass-border:#ffffff14;--mesh-1:#8f86ff38;--mesh-2:#d18bff2e;--mesh-3:#38bdf824;--success:#34d399;--success-soft:#34d3992e;--warning:#fbbf24;--warning-soft:#fbbf242e;--danger:#ff6b81;--danger-soft:#ff6b8133;--radius-sm:9px;--radius:13px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--font-display:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--transition:180ms cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);transition:background-color .3s ease,color .3s ease}body:before{animation:meshDrift 26s ease-in-out infinite alternate;background:radial-gradient(38vmax 38vmax at 12% 8%,var(--mesh-1),#0000 60%),radial-gradient(34vmax 34vmax at 88% 14%,var(--mesh-2),#0000 60%),radial-gradient(40vmax 40vmax at 70% 92%,var(--mesh-3),#0000 62%);content:"";filter:blur(8px);inset:-20vmax;pointer-events:none;position:fixed;z-index:-1}@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)}}.App{animation:appFadeIn .5s ease both;min-height:100vh}@keyframes appFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.App,body:before{animation:none}}.loading{color:var(--text-tertiary);font-size:1.1rem;padding:2rem;text-align:center}.error-banner{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;margin-bottom:1rem;padding:1rem}[data-theme=dark] .error-banner{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}.error-message{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:.95rem;margin:1rem 0;padding:.75rem 1rem}[data-theme=dark] .error-message{background:#7f1d1d;border-color:#991b1b;color:#fca5a5}.empty-state{color:var(--text-tertiary);padding:3rem 1rem;text-align:center}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.btn{word-wrap:break-word;align-items:center;border:1px solid #0000;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.01em;line-height:1.4;min-height:-webkit-fit-content;min-height:fit-content;overflow:visible;overflow-wrap:break-word;padding:.65rem 1.15rem;position:relative;text-align:center;transition:background var(--transition),border-color var(--transition),color var(--transition),transform 80ms ease,box-shadow var(--transition);white-space:normal}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-ring);outline:none}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--gradient-accent);background-position:0 50%;background-size:140% 140%;border-color:#0000;box-shadow:0 6px 18px -6px var(--shadow-hover);color:#fff;transition:background-position var(--transition),transform 90ms ease,box-shadow var(--transition)}.btn-primary:hover:not(:disabled){background-position:100% 50%;box-shadow:0 12px 26px -8px var(--shadow-hover);transform:translateY(-1px)}.btn-primary:active:not(:disabled){box-shadow:0 4px 10px -4px var(--shadow-hover);transform:translateY(0)}.btn-success{background:var(--success-soft);border-color:#10b98159;color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success);border-color:var(--success);box-shadow:0 6px 16px #10b9814d;color:#fff;transform:translateY(-1px)}.btn-success:active:not(:disabled){transform:translateY(0)}[data-theme=dark] .btn-success{background:#34d39929;border-color:#34d39966;color:#34d399}[data-theme=dark] .btn-success:hover:not(:disabled){background:#10b981;border-color:#10b981;color:#fff}.btn-danger{background:var(--danger-soft);border-color:#ef444459;color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);box-shadow:0 6px 16px #ef44444d;color:#fff;transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0)}[data-theme=dark] .btn-danger{background:#f8717129;border-color:#f8717166;color:#f87171}[data-theme=dark] .btn-danger:hover:not(:disabled){background:#ef4444;border-color:#ef4444;color:#fff}.btn-secondary{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-info{background:var(--accent-soft);border-color:var(--accent-soft);color:var(--accent)}.btn-info:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}.btn-info:active:not(:disabled){transform:translateY(0)}.btn-icon{background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:1.2rem;padding:.25rem;transition:transform .2s,background var(--transition)}.btn-icon:hover{background:var(--bg-hover);transform:scale(1.15)}input[type=checkbox]:not(.view-toggle-switch){appearance:none;-webkit-appearance:none;background:var(--input-bg);border:1.5px solid var(--border-strong);border-radius:5px;cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);vertical-align:middle;width:18px}input[type=checkbox]:not(.view-toggle-switch):hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:not(.view-toggle-switch):focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}input[type=checkbox]:not(.view-toggle-switch):checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:not(.view-toggle-switch):checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:10px;left:4px;position:absolute;top:0;transform:rotate(45deg);width:5px}input[type=checkbox]:not(.view-toggle-switch):indeterminate{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:not(.view-toggle-switch):indeterminate:after{background:var(--bg-secondary);border-radius:1px;content:"";height:2px;left:3px;position:absolute;top:7px;width:10px}input[type=checkbox]:not(.view-toggle-switch):disabled{cursor:not-allowed;opacity:.45}input[type=date]:focus-visible,input[type=email]:focus-visible,input[type=number]:focus-visible,input[type=password]:focus-visible,input[type=search]:focus-visible,input[type=tel]:focus-visible,input[type=text]:focus-visible,input[type=url]:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}input[type=radio]{appearance:none;-webkit-appearance:none;background:var(--input-bg);border:1.5px solid var(--border-strong);border-radius:50%;cursor:pointer;flex-shrink:0;height:18px;position:relative;transition:border-color var(--transition),box-shadow var(--transition);vertical-align:middle;width:18px}input[type=radio]:hover:not(:disabled){border-color:var(--accent)}input[type=radio]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}input[type=radio]:checked{border-color:var(--accent)}input[type=radio]:checked:after{background:var(--accent);border-radius:50%;content:"";inset:3px;position:absolute}input[type=radio]:disabled{cursor:not-allowed;opacity:.45}.Toastify__toast{border-radius:12px;box-shadow:0 4px 12px #00000026;font-family:inherit;font-size:.95rem;padding:1rem}.Toastify__toast--error{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.Toastify__toast--success{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.Toastify__toast--warning{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.Toastify__toast--info{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.Toastify__progress-bar{background:#ffffff4d}.Toastify__close-button{color:#fff;opacity:.8}.Toastify__close-button:hover{opacity:1}[data-theme=dark] .Toastify__toast{box-shadow:0 4px 12px #0006}@media (max-width:768px){.btn{font-size:.9rem;padding:.6rem 1rem}.Toastify__toast{font-size:.9rem;margin:.5rem}}