:root{--primary: #3d54c7;--primary-soft: #5466c7;--secondary: #4fb38f;--success: #176b3d;--danger: #b82121;--warning: #ebb34f;--info: #0984e3;--dark: #212121;--text-primary: #212121;--text-secondary: #66666e;--light: #f7f7fa;--gray: #66666e;--background: #f7f7fa;--surface: #ffffff;--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .5);--glass-blur: blur(12px);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--modal-animation-duration: .32s;--modal-easing-function: cubic-bezier(.34, 1.56, .64, 1);--slide-in-offset: 20px;--scale-start: .95;--scale-end: 1;--page-block-radius: 16px;--primary-border: rgba(61, 84, 199, .22);--primary-glow: rgba(61, 84, 199, .12);--primary-glow-strong: rgba(61, 84, 199, .2);--primary-bg-soft: rgba(61, 84, 199, .08);--primary-bg-active: rgba(61, 84, 199, .14);--primary-bg-hover: rgba(61, 84, 199, .1);--primary-bg-subtle: rgba(61, 84, 199, .05);--focus-ring: 0 0 0 3px var(--primary-glow);--shadow-primary: 0 4px 14px rgba(61, 84, 199, .25);--shadow-primary-hover: 0 6px 20px rgba(61, 84, 199, .35);--shadow-card: 0 4px 14px rgba(0, 0, 0, .1);--shadow-card-subtle: 0 2px 10px rgba(0, 0, 0, .06);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--main-btn-radius: var(--radius-md);--btn-height: 44px;--btn-height-sm: 36px;--btn-bg: #f0f0f0;--btn-bg-hover: #e5e5e5;--btn-color: #212121;--btn-padding-x: 12px;--btn-shadow-hover: 0 2px 8px rgba(61, 84, 199, .2)}*{margin:0;padding:0;box-sizing:border-box}button{font-family:inherit;cursor:pointer}button:focus:not(:focus-visible){outline:none;box-shadow:none}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background:var(--background)}html.body-scroll-locked,body.body-scroll-locked{overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,Segoe UI,system-ui,sans-serif;background:var(--background);min-height:100vh;min-height:100dvh;color:var(--text-primary);overflow-x:hidden;letter-spacing:-.01em}body.body-scroll-locked{width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3d54c740;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3d54c766}button:active:not(:disabled){transform:scale(.97)}.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9500;opacity:0;visibility:hidden;transition:opacity 0s,visibility 0s}.auth-modal.active{opacity:1;visibility:visible}.auth-container{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card),0 24px 48px #00000026;padding:20px;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function)}.auth-modal.active .auth-container{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:2.2em;color:var(--primary);margin-bottom:10px}.auth-header p{color:#777;font-size:1.1em}.auth-tabs{display:flex;gap:10px;margin-bottom:25px;border-bottom:2px solid #eee;padding-bottom:15px}.auth-tab{flex:1;padding:12px;text-align:center;border:none;background:#f5f5f5;border-radius:8px 8px 0 0;cursor:pointer;font-weight:600;transition:all .3s}.auth-tab.active{background:var(--primary);color:#fff}.auth-container #loginSubmitBtn,.auth-container #registerSubmitBtn,.auth-container #verifySubmitBtn,.auth-container #forgotPasswordSubmitBtn,.auth-container #resetPasswordSubmitBtn{font-family:inherit;font-size:1em;font-weight:600;padding:12px}.auth-social-separator{position:relative;margin:14px 0 10px;text-align:center}.auth-social-separator:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e7e7ea;transform:translateY(-50%)}.auth-social-separator span{position:relative;padding:0 10px;background:#fff;color:#8a8a8a;font-size:.8em}.auth-google-block{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center}.auth-google-block.auth-google-block-hidden{display:none!important}.auth-social-separator:has(+.auth-google-block.auth-google-block-hidden){display:none!important}.auth-google-button-host{min-height:42px;display:flex;justify-content:center;align-items:center;width:100%}.auth-google-button-host>div{margin:0 auto}.auth-social-hint{font-size:.78em;color:#8a8a8a;text-align:center;line-height:1.3}.auth-social-hint.is-error{color:var(--danger)}.form-group{margin-bottom:10px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#777;font-size:.8em}.form-group input,.form-group select{width:100%;padding:10px;border:2px solid #e5e5e5;border-radius:var(--radius-sm);font-size:.9em;transition:all .3s;box-sizing:border-box;background:#fafafa}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}.form-group .error{color:var(--danger);font-size:.85em;margin-top:5px;display:none}.form-group.invalid input,.form-group.invalid select{border-color:var(--danger);background:#fff5f5}.form-group.invalid .error{display:block}.consent-group{margin-top:2px}.consent-check{display:flex!important;align-items:flex-start;gap:9px;font-size:.84em;line-height:1.35;color:#586070!important;margin-bottom:0!important}.consent-check input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.consent-check a{color:var(--primary);font-weight:600;text-decoration:none}.consent-check a:hover{text-decoration:underline}.form-group.invalid .consent-check span{color:var(--danger)}.submit-btn{width:100%;padding:12px;min-height:var(--btn-height);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.05em;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:var(--shadow-primary)}.submit-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:var(--shadow-primary-hover)}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.switch-link,.forgot-password-link{text-align:center;margin-top:20px;color:#777;font-size:.88em}.switch-link a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s;font-size:1em}.switch-link a:hover{color:#5568d3}.forgot-password-link a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s;font-size:1em}.forgot-password-link a:hover{color:#5568d3}.container{max-width:1400px;margin:0 auto;padding:0 20px 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}@media(min-width:769px){.container{padding-top:0}.page-shell{margin-top:36px}header{min-height:112px;padding:32px 0;padding-top:max(32px,env(safe-area-inset-top));padding-bottom:32px}header h1{font-size:1.6em}.global-month-bar{margin-top:18px}}.page-shell{width:min(1080px,100%);margin:0 auto 28px}.main-content{opacity:1;transition:opacity .3s ease;background:var(--background);min-height:100vh;min-height:100dvh}.main-content.blur{opacity:.3;filter:blur(5px);pointer-events:none}.page-transition{opacity:0;transform:translateY(4px);transition:opacity .22s cubic-bezier(.25,.46,.45,.94),transform .22s cubic-bezier(.25,.46,.45,.94)}.page-transition-active{opacity:1;transform:translateY(0)}header{text-align:center;color:#fff;position:relative;z-index:9405;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);margin-left:calc(-1*max(20px,env(safe-area-inset-left)));margin-right:calc(-1*max(20px,env(safe-area-inset-right)));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));border-radius:0 0 20px 20px;box-shadow:0 4px 14px #3d54c733;box-sizing:border-box;display:flex;align-items:center;justify-content:center}@media(max-width:768px){header{min-height:56px;padding:14px 0;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:14px}}header h1{font-size:1.35em;font-weight:700;letter-spacing:-.02em;margin:0 0 2px;text-shadow:0 1px 4px rgba(0,0,0,.15)}header p{font-size:.95em;opacity:.92}.user-info{position:absolute;top:50%;right:max(16px,env(safe-area-inset-right));transform:translateY(-50%);display:flex;align-items:center;gap:12px;z-index:9406}.user-badge{background:#fff3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.95em;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;gap:8px;box-shadow:0 2px 10px #0000001a;color:#fff}.logout-btn{background:#fffffff2;color:var(--primary);padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;transition:transform .2s,box-shadow .2s;font-weight:600;font-size:.9em;border:none;box-shadow:var(--shadow-card-subtle)}.logout-btn:hover{transform:scale(1.02);box-shadow:var(--shadow-card)}.avatar-emoji{font-size:1.5em;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;line-height:1;transition:transform .2s;padding:4px;border-radius:50%}.avatar-emoji:hover{transform:scale(1.2);background:#fff3}.avatar-emoji.picker-open{transform:scale(1.2);background:#ffffff4d}.emoji-picker-popup{position:absolute;top:100%;right:0;margin-top:10px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000040;padding:16px;z-index:1001;width:360px;max-height:480px;display:none;flex-direction:column;overflow-x:hidden}.emoji-picker-popup.active{display:flex;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function) forwards}.emoji-picker-popup h4{color:var(--dark);font-size:.95em;text-align:center;flex-shrink:0;margin:0;flex-grow:1}.emoji-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee}.emoji-tabs{display:flex;gap:2px;margin-bottom:10px;flex-shrink:0;overflow-x:hidden;padding-bottom:4px;width:100%;justify-content:flex-start}.emoji-tab{padding:4px 8px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:1.1em;transition:all .2s;flex-shrink:0;white-space:nowrap}.emoji-tab.active{background:var(--primary);filter:none;box-shadow:0 2px 8px #667eea4d}.emoji-tab:hover{background:#e0e0e0}.emoji-tab.active:hover{background:var(--primary)}.emoji-grid-scroll{overflow-y:auto;max-height:260px;flex:1;overflow-x:hidden;-webkit-overflow-scrolling:touch}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:100%;overflow-x:hidden;padding:4px 0}.emoji-option{font-size:1.4em;padding:4px;text-align:center;cursor:pointer;border-radius:6px;transition:all .15s;border:2px solid transparent;background:none;line-height:1;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.emoji-option:hover{background:#f0f0f0;transform:scale(1.15)}.emoji-option:active{transform:scale(.95)}.emoji-option.selected{border-color:var(--primary);background:var(--primary-bg-hover)}.global-month-bar{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;max-width:1200px;margin-left:auto;margin-right:auto;flex-wrap:nowrap;position:sticky;top:10px;z-index:9300}.global-month-bar label{color:var(--text-secondary);font-weight:600;font-size:.95em;display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap}@media(min-width:769px){.global-month-bar{position:static;top:10px;z-index:9300}}.month-band{display:flex;align-items:stretch;background:var(--surface);border:1px solid rgba(0,0,0,.06);border-radius:var(--page-block-radius);box-shadow:var(--shadow-card-subtle);flex-shrink:0;position:relative;overflow:visible;z-index:9301;transition:box-shadow .2s ease,border-color .2s ease}.month-band:hover{box-shadow:var(--shadow-card);border-color:var(--primary-border)}.period-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}.period-select{position:relative;min-width:165px}.period-select-year{min-width:104px}.period-select+.period-select{border-left:1px solid rgba(0,0,0,.08)}.period-select-trigger{width:100%;border:none;background:transparent;color:var(--text-primary);font-weight:600;font-family:inherit;font-size:.95em;padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:background-color .2s}.period-select-trigger:hover{background-color:var(--primary-bg-subtle)}.period-select-trigger:focus-visible{outline:none;background-color:var(--primary-bg-soft)}.period-select-trigger i{font-size:.78em;color:var(--text-secondary)}.period-select-dropdown,.tx-cal-picker-dropdown{position:absolute;top:calc(100% + 8px);left:50%;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:8px;z-index:9999;opacity:0;transform:translate(-50%,-6px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.period-select-dropdown{min-width:100%;display:block}.tx-cal-picker-dropdown{min-width:180px}.period-select-dropdown.open,.tx-cal-picker-dropdown.open{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.period-options-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.period-option,.tx-cal-picker-option{padding:9px 10px;color:#333;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;min-height:40px;display:flex;align-items:center}.period-option:hover,.tx-cal-picker-option:hover{background:#f8f9fa}.period-option.active,.tx-cal-picker-option.active{background:var(--primary-bg-active);color:var(--primary)}.period-year-input-wrap,.tx-cal-year-input-wrap{display:flex;align-items:center;gap:8px;margin-bottom:8px}.period-year-input-wrap input,.tx-cal-year-input-wrap input{flex:1;min-width:0;height:34px;border:1px solid #d9d9d9;border-radius:8px;color:#333;background:#fff;padding:0 10px}.period-year-input-wrap input::placeholder,.tx-cal-year-input-wrap input::placeholder{color:#888}.period-year-input-wrap input:focus,.tx-cal-year-input-wrap input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.period-year-input-wrap button,.tx-cal-year-input-wrap button{border:1px solid #ddd;border-radius:8px;height:34px;padding:0 10px;color:#333;background:#f8f9fa;font-weight:600;cursor:pointer}.period-year-input-wrap button:hover,.tx-cal-year-input-wrap button:hover{background:#eef1ff;border-color:#c9d0ff}@media(max-width:768px){.period-select{min-width:0;flex:1}.period-select-year{flex:0 0 92px}.period-select-trigger{font-size:.9em;padding:9px 10px}.period-select-dropdown{min-width:180px}}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto}.content{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:30px;margin-bottom:40px}.main-area{background:var(--surface);border-radius:var(--page-block-radius);padding:24px;box-shadow:var(--shadow-card-subtle);transition:box-shadow .2s ease}.main-area:hover{box-shadow:var(--shadow-card)}footer{background:var(--surface);border-top:1px solid rgba(0,0,0,.06);padding:20px;text-align:center;color:var(--text-secondary);margin-top:32px;border-radius:var(--page-block-radius);box-shadow:var(--shadow-card-subtle)}footer p{margin:5px 0;font-size:.9em}footer strong{color:var(--text-primary)}footer a,.changelog-btn{color:var(--primary)}@media(max-width:768px){.container{padding:0 14px 12px}header{display:flex;flex-direction:column;align-items:center;padding:14px 0;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:14px;min-height:56px}header h1{order:1;margin:0 0 2px;font-size:1.35em}.user-info{order:2;position:static;top:auto;right:auto;transform:none;margin-top:12px;justify-content:center;flex-wrap:wrap}.global-month-bar{position:static;margin-bottom:18px;flex-wrap:wrap;justify-content:center;width:100%}.global-month-bar label{flex:0 0 100%;justify-content:center;text-align:center;margin-bottom:4px}.global-month-bar .month-band{flex:0 0 auto;margin-left:auto;margin-right:auto;max-width:100%}.content{grid-template-columns:1fr;gap:20px;margin-bottom:24px}.main-area{padding:16px 18px;min-width:0}.stats-row{gap:10px;margin-bottom:18px}footer{padding:12px 14px;margin-top:20px}footer p{margin:2px 0;line-height:1.3}}@media(max-width:480px){.container{padding:0 12px 10px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.main-area{padding:14px 12px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}footer{padding:10px 12px;margin-top:16px}footer p{margin:1px 0;line-height:1.25}footer .changelog-btn,footer a.changelog-btn{display:inline;padding:0;min-height:0;line-height:inherit;border-radius:0;margin:0}}.confirm-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999997;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .2s ease}.confirm-sheet.active{opacity:1;pointer-events:auto}.confirm-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.confirm-sheet-panel{position:relative;background:#fff;border-radius:20px 20px 0 0;padding:24px 20px 36px;transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.15,.64,1)}.confirm-sheet.active .confirm-sheet-panel{transform:translateY(0)}.confirm-sheet-message{font-size:16px;color:#333;text-align:center;margin:0 0 22px;line-height:1.5}.confirm-sheet-actions{display:flex;gap:10px}.confirm-sheet-cancel,.confirm-sheet-ok{flex:1;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.confirm-sheet-cancel{background:#f0f0f5;color:#555}.confirm-sheet-ok{background:var(--primary);color:#fff}.confirm-sheet-ok.confirm-sheet-danger{background:var(--danger)}.confirm-sheet-cancel:active,.confirm-sheet-ok:active{opacity:.8}#mathAccessoryBar{position:fixed;bottom:0;left:0;right:0;z-index:99998;display:none;align-items:center;gap:6px;padding:6px 10px;background:#d1d5db;border-top:1px solid #b0b5bc;box-shadow:0 -2px 8px #0000001a}#mathAccessoryBar.active{display:flex}#mathAccessoryBar button{background:#fff;border:none;border-radius:7px;min-width:46px;height:38px;padding:0 10px;font-size:20px;font-weight:500;color:#111;box-shadow:0 2px #9ea3ab;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background .08s,transform .08s,box-shadow .08s}#mathAccessoryBar button:active{background:#e2e5ea;box-shadow:0 1px #9ea3ab;transform:translateY(1px)}#mathAccessoryBar .math-bar-back{background:#bfc4cc;color:#333;font-size:17px}#mathAccessoryBar .math-bar-back:active{background:#adb2b9}#mathAccessoryBar .math-bar-spacer{flex:1}#toastContainer{position:fixed;bottom:24px;right:24px;z-index:999999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 4px 20px #0003;transform:translate(calc(100% + 24px));opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;pointer-events:auto;max-width:320px;word-break:break-word}.toast.toast-visible{transform:translate(0);opacity:1}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning);color:#333}.toast-info{background:var(--primary)}@media(max-width:480px){#toastContainer{bottom:16px;right:12px;left:12px}.toast{max-width:100%}}.tx-mode-switch{display:inline-flex;align-items:center;gap:6px;background:var(--primary-bg-soft);border:1px solid rgba(102,126,234,.16);border-radius:12px;padding:4px;margin-right:8px}.tx-mode-switch[style*="display:none"]{display:none!important}.tx-mode-btn{border:none;background:var(--btn-bg);color:var(--btn-color);border-radius:var(--radius-sm);padding:0 var(--btn-padding-x);height:var(--btn-height);font-weight:600;font-size:.65em;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tx-mode-btn.active{background:var(--primary);color:#fff}@media(max-width:900px){.tx-mode-switch{order:3;width:100%;margin:8px 0 0}.tx-mode-btn{flex:1;justify-content:center}}.stat-card-compact{background:var(--surface);padding:12px;border-radius:16px;text-align:center;box-shadow:var(--shadow-card-subtle);transition:box-shadow .2s ease,transform .2s ease;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;justify-items:center;column-gap:12px;min-height:72px;border:1px solid rgba(0,0,0,.08);border-left-width:4px}.stat-card-compact:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.stat-card-compact.income{border-left-color:var(--success)}.stat-card-compact.expense{border-left-color:var(--danger)}.stat-card-compact.balance{border-left-color:var(--primary)}.stat-card-compact.operations{border-left-color:var(--text-secondary)}.stat-card-compact.income .stat-icon-compact{color:var(--success)}.stat-card-compact.expense .stat-icon-compact{color:var(--danger)}.stat-card-compact.balance .stat-icon-compact{color:var(--primary)}.stat-card-compact.operations .stat-icon-compact{color:var(--text-secondary)}.stat-icon-compact{font-size:20px;width:28px;grid-column:1;grid-row:1 / 3;line-height:1;align-self:center;justify-self:center;opacity:.95}.stat-label-compact{grid-column:2;grid-row:1;color:var(--text-secondary);font-size:13px;font-weight:400;line-height:1.25;text-align:center;width:100%;margin-bottom:2px}.stat-value-compact{grid-column:2;grid-row:2;font-size:20px;font-weight:600;margin:0;line-height:1.25;letter-spacing:-.02em;text-align:center;width:100%}.chart-card{margin-bottom:16px;background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:var(--page-block-radius);box-shadow:var(--shadow-card-subtle);transition:box-shadow .2s,border-color .2s,transform .2s}.chart-card:hover{box-shadow:var(--shadow-card);border-color:var(--primary-border);transform:translateY(-2px)}.chart-card h2{margin-bottom:16px;color:var(--text-primary);font-size:1.15em;font-weight:600;display:flex;align-items:center;gap:8px}.chart-month-label{font-size:.85em;color:#999;font-weight:400;margin-bottom:12px;padding:0 12px}.chart-container{height:260px;position:relative;background:#fff;border-radius:var(--page-block-radius);padding:14px;box-shadow:0 2px 10px #0000000f;transition:box-shadow .3s ease}.chart-container:hover{box-shadow:0 4px 18px #0000001a}.chart-card .chart-container{background:transparent;box-shadow:none;border:none;border-radius:var(--page-block-radius);padding:14px}.chart-card .chart-container:hover{box-shadow:none}#categoryChartContainer{height:340px;min-width:auto!important;position:relative;overflow:visible;border-radius:16px;background:#e8eaef;box-shadow:0 4px 20px #00000014;isolation:isolate}#categoryChartContainer canvas{position:relative;z-index:1}#categoryChartContainer .chart-empty{color:#465578bf}#categoryChartContainer .chart-empty i{color:#667eeae0;opacity:.65}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#bbb}.chart-empty i{font-size:3em;margin-bottom:12px;opacity:.4}.chart-pie-details-row{display:flex;gap:30px}.chart-details-block{flex:1;min-width:250px;display:flex;flex-direction:column}@media(max-width:600px){.chart-pie-details-row{flex-direction:column;gap:16px}.chart-pie-details-row .chart-container{order:1;min-width:0;width:100%}#categoryChartContainer{height:300px;border-radius:18px}.chart-pie-details-row .chart-details-block{order:2;min-width:0;width:100%}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card-compact{padding:12px;min-height:72px}.stat-label-compact{font-size:13px}.stat-value-compact{font-size:20px}}.analytics-plus-badge{font-size:.55em;font-weight:700;background:var(--primary);color:#fff;border-radius:999px;padding:2px 7px;letter-spacing:.04em;vertical-align:middle;line-height:1;align-self:center}.analytics-plus-expanded-body{padding:12px 14px 16px;border-top:1px solid rgba(0,0,0,.06)}.analytics-group{margin-bottom:18px}.analytics-group-title{font-size:.9em;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin:4px 2px 8px}.analytics-group-title i{color:var(--primary);font-size:.9em}.analytics-teaser-card{transition:box-shadow .18s,transform .18s;padding:14px 16px;min-height:72px;display:flex;align-items:center;box-sizing:border-box}@media(max-width:480px){.analytics-teaser-card{padding:14px 16px;min-height:64px}.analytics-teaser-card>div{min-width:0}.analytics-teaser-card h2{font-size:1rem;flex-wrap:wrap;gap:4px}.analytics-teaser-card h2 .analytics-plus-badge{flex-shrink:0}.analytics-plus-badge{font-size:.5em;padding:2px 5px}}.analytics-teaser-card:hover{box-shadow:0 6px 20px #3d54c724;transform:translateY(-1px)}.analytics-teaser-card:active{transform:scale(.99)}.analytics-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 0 8px}.analytics-card{background:#f8f9fb;border-radius:12px;padding:14px;border:1px solid #edf0f3}.analytics-card-header{font-size:.85em;font-weight:700;color:#555;margin-bottom:10px;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.analytics-period-label{font-weight:400;color:#aaa;font-size:.92em;margin-left:2px}.analytics-comparison-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid #f0f0f0;font-size:.86em;gap:6px}.analytics-comparison-row:last-child{border-bottom:none}.analytics-comparison-label{color:#666;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analytics-comparison-value{font-weight:600;white-space:nowrap}.analytics-comparison-value.success{color:var(--success)}.analytics-comparison-value.danger{color:var(--danger)}.delta{font-size:.8em;font-weight:600;border-radius:5px;padding:1px 5px;white-space:nowrap;flex-shrink:0}.delta.good{color:#1a7a3f;background:#2ecc711f}.delta.warn{color:#b03030;background:#e74c3c1a}.delta.neutral{color:#aaa;background:#f5f5f5}.analytics-progress-wrap{height:4px;background:#e8eaee;border-radius:2px;margin:4px 0 10px;overflow:hidden}.analytics-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-soft));border-radius:2px;transition:width .5s ease}.analytics-plus-gate{text-align:center;padding:28px 16px 20px;color:#888}.analytics-plus-gate i{font-size:2.2em;color:var(--primary);opacity:.45;display:block;margin-bottom:10px}.analytics-plus-gate p{margin:0 0 14px;font-size:.92em}@media(max-width:600px){.analytics-cards-grid{grid-template-columns:1fr}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e8eaf0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:8px;color:transparent!important}.skeleton-text{height:14px;border-radius:4px;margin-bottom:8px}.skeleton-value{height:28px;width:70%;border-radius:6px}.skeleton-card{height:56px;border-radius:var(--page-block-radius)}.analytics-page-card{background:var(--surface);border-radius:var(--page-block-radius);border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-card-subtle);padding:20px 22px;margin-bottom:16px}.analytics-section-header{font-size:.9em;font-weight:700;color:#444;margin-bottom:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.analytics-loading{text-align:center;padding:28px;color:#bbb;font-size:1.3em}.analytics-empty{color:#aaa;font-size:.9em;padding:8px 0}.analytics-comparison-table{width:100%;font-size:.88em}.analytics-ct-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;padding:8px 4px;border-bottom:1px solid #f0f0f0;align-items:center}.analytics-ct-row:last-child{border-bottom:none}.analytics-ct-row.header{font-weight:700;color:#888;font-size:.82em;padding-bottom:6px;border-bottom:2px solid #eee}.analytics-ct-row.balance-row{border-top:2px solid #eee;margin-top:4px}.analytics-ct-row .success{color:var(--success);font-weight:600}.analytics-ct-row .danger{color:var(--danger);font-weight:600}.analytics-ct-row .muted{color:#aaa}.analytics-forecast-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.analytics-forecast-card{background:#f8f9fb;border-radius:10px;padding:12px 14px;border:1px solid #edf0f3}.analytics-forecast-label{font-size:.78em;font-weight:600;color:#888;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.analytics-forecast-value{font-size:1.15em;font-weight:700}.analytics-forecast-rate{font-size:.75em;color:#aaa;margin-top:3px}.analytics-forecast-value.success{color:var(--success)}.analytics-forecast-value.danger{color:var(--danger)}.analytics-progress-wrap{position:relative}.analytics-progress-label{position:absolute;right:0;top:-18px;font-size:.72em;color:var(--primary);font-weight:600}.analytics-cat-changes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.analytics-cat-change-card{display:flex;align-items:center;gap:10px;background:#f8f9fb;border-radius:10px;padding:10px 12px;border:1px solid #edf0f3}.analytics-cat-change-icon{font-size:1.5em;flex-shrink:0}.analytics-cat-change-info{flex:1;min-width:0}.analytics-cat-change-name{font-weight:600;font-size:.88em;color:#333}.analytics-cat-change-amounts{font-size:.8em;color:#888;display:flex;gap:6px;align-items:center}.analytics-cat-change-delta{font-size:.82em;font-weight:700;border-radius:6px;padding:3px 7px;white-space:nowrap;flex-shrink:0}.analytics-cat-change-delta.good{color:#1a7a3f;background:#2ecc711f}.analytics-cat-change-delta.warn{color:#b03030;background:#e74c3c1a}.analytics-chart-wrap{height:240px;position:relative}.analytics-window-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:1200px;margin:0 auto 16px}.analytics-window-label{font-size:.82em;color:#888;font-weight:600;margin-right:4px}.analytics-window-btn{padding:5px 12px;border:1px solid #ddd;border-radius:999px;background:#fff;color:#555;font-size:.82em;font-weight:600;cursor:pointer;transition:all .15s}.analytics-window-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.analytics-window-btn:hover:not(.active){background:var(--primary-bg-hover);border-color:var(--primary-border)}.analytics-gate{text-align:center;padding:40px 20px}.analytics-gate-icon{font-size:3em;color:var(--primary);opacity:.3;margin-bottom:16px}.analytics-gate h2{font-size:1.3em;font-weight:700;color:#333;margin:0 0 10px}.analytics-gate p{color:#888;margin:0 0 6px;font-size:.95em}.analytics-gate-features{font-size:.82em!important;color:#bbb!important;margin-bottom:20px!important}.analytics-gate-btn{display:inline-flex;align-items:center;gap:8px;margin-top:10px}@media(max-width:600px){.analytics-page-card{padding:14px}.analytics-forecast-grid{grid-template-columns:1fr 1fr}.analytics-cat-changes-grid{grid-template-columns:1fr}.analytics-ct-row{grid-template-columns:1fr auto auto auto;font-size:.8em}.analytics-chart-wrap{height:200px}}.transactions-section{padding:24px 24px 20px;margin-bottom:40px}.transactions-page .main-content,.transactions-page .page-shell,.transactions-page .transactions-section{overflow-x:hidden;overflow-x:clip}.transactions-page .sections-tabs{margin:0 0 16px!important}@media(max-width:768px){.transactions-section{padding:18px 16px;margin-bottom:24px}.transactions-page .sections-tabs{margin-bottom:14px!important;padding:2px 5px 8px!important}}@media(max-width:480px){.transactions-section{padding:14px 12px;margin-bottom:20px}.transactions-page .sections-tabs{gap:6px;border-radius:12px}.transactions-page .sections-tabs .section-tab{font-size:.82rem;padding:7px 12px}}#txFiltersSection{max-height:400px;transition:max-height var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function);overflow:hidden}#txFiltersSection.collapsed{max-height:0;opacity:0;pointer-events:none;visibility:hidden}.transactions-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.transactions-header h2{color:var(--dark);font-size:1.5em;display:flex;align-items:center;gap:10px}.tx-header-period-select{border:1px solid #e0e0e6;background:#fff;color:#2d3436;border-radius:var(--radius-md);padding:8px 12px;height:38px;font-size:.9em;font-weight:700;cursor:pointer}.tx-header-period-select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.tx-header-period-year{min-width:92px}.transactions-filters{display:flex;flex-direction:column;gap:20px;margin-top:10px;margin-bottom:10px;width:100%}.tx-filters-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.date-range-inputs{flex:0 0 100%;width:100%;display:flex;gap:8px;margin-top:2px}.tx-sort-group{display:grid;grid-template-columns:1fr 1fr;gap:6px}@media(min-width:600px){.tx-filters-inputs{flex-wrap:wrap}.tx-filter-category,.tx-search{flex:1;min-width:120px}.date-range-inputs{flex:0 0 100%;width:100%;display:flex;gap:8px;margin-top:2px}.tx-date-from,.tx-date-to{width:130px}.tx-sort-group{display:flex;gap:6px}.tx-sort-group .tx-sort-btn,.tx-sort-group .tx-category-btn{flex:1}}@media(max-width:599px){.tx-filters-inputs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tx-filter-category,.tx-search{flex:1;min-width:0;height:var(--btn-height);min-height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:0,65em;font-weight:600;background:#fff;border:1px solid #e0e0e6;border-radius:var(--radius-sm)}.tx-filter-category:focus,.tx-search:focus{border-color:var(--primary);background:#fff}.date-range-inputs{flex:0 0 100%;width:100%;display:flex;gap:6px;margin-top:2px}.tx-date-from,.tx-date-to{flex:1;min-width:0;width:70px;height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:0,65em;font-weight:600}.app-date-input-btn{height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:0,65em}.tx-date-from::-webkit-calendar-picker-indicator,.tx-date-to::-webkit-calendar-picker-indicator{font-size:.8em;opacity:.6;padding:0;margin-left:2px}.tx-sort-group{gap:6px;grid-template-columns:1fr 1fr}#txSortRecentBtn{grid-column:1 / -1}.tx-sort-btn,.tx-category-btn{justify-content:center;padding:0 var(--btn-padding-x);font-size:0,65em;height:var(--btn-height);min-width:0}.global-month-bar{flex-wrap:wrap;justify-content:center}.global-month-bar label{flex:0 0 100%;justify-content:center;font-size:.82em;margin-bottom:2px}.month-band{flex:0 0 auto}.tx-table-wrapper{overflow-x:hidden!important;overflow-x:clip!important}.transactions-table thead{display:none}.transactions-table,.transactions-table tbody{display:block;width:100%}.transactions-table tbody tr{display:grid;grid-template-columns:32px minmax(0,1.9fr) minmax(0,.45fr) auto;grid-template-rows:auto auto auto;column-gap:4px;row-gap:0;padding:2px 6px;margin-bottom:6px;min-height:0;border:1px solid #e5e5e5;border-radius:10px;background:#fff;transition:box-shadow .2s;width:100%;box-sizing:border-box;font-size:100%;align-content:start}.transactions-table tbody tr:hover{border-color:var(--primary)}.transactions-table td{padding:0;border:none;display:flex;align-items:center}.transactions-table td:nth-child(1){grid-column:1;grid-row:1 / 4;justify-content:center;align-self:center}.transactions-table td:nth-child(2){grid-column:2 / 4;grid-row:1;justify-content:flex-start;align-self:stretch;color:#999;white-space:nowrap;line-height:1.1;border-bottom:none}.transactions-table td:nth-child(2) .tx-date-val{display:inline-block;font-size:.88em!important;border-bottom:1px solid #e2e2e2;padding-bottom:1px}.transactions-table td:nth-child(2) .tx-days-remaining{margin-left:6px}.transactions-table td:nth-child(6){grid-column:3;grid-row:2;justify-content:flex-end;font-weight:700;white-space:nowrap;align-self:center}.transactions-table td:nth-child(6) .tx-amount{font-size:.85em!important;font-weight:700}.transactions-table td:nth-child(3){display:none}.transactions-table td:nth-child(4){grid-column:2;grid-row:2;justify-content:flex-start;overflow:hidden;align-self:center}.transactions-table td:nth-child(4) .tx-cat-cell{width:100%;max-width:100%;margin:0}.transactions-table td:nth-child(4) .tx-cat-main{display:flex;width:100%;justify-content:flex-start;gap:4px}.transactions-table td:nth-child(4) .cat-item-name{font-size:1em!important;font-weight:650}.transactions-table td:nth-child(5){grid-column:2 / 4;grid-row:3;font-size:.9em;color:#aaa;border-top:none!important;border-bottom:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;justify-content:flex-start;text-align:left;align-self:end;margin-top:-2px}.transactions-table td:nth-child(5) .tx-desc-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-table td:nth-child(7){grid-column:4;grid-row:1 / 4;flex-direction:column;gap:2px;align-items:flex-end;justify-content:center;justify-self:end}.transactions-table tbody tr:last-child{margin-bottom:0}.transactions-table .tx-delete-btn{font-size:1.15em;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#bbb}.transactions-table td.tx-desc-empty{display:flex}.transactions-table tr.tx-has-desc{min-height:36px}.transactions-table tbody tr.tx-hide-date{min-height:34px}.transactions-table tbody tr.tx-hide-date td:nth-child(1){grid-row:1 / 4}.transactions-table tbody tr.tx-hide-date td:nth-child(2){display:none}.transactions-table tbody tr.tx-hide-date td:nth-child(4){grid-column:2;grid-row:1;justify-content:center;padding-right:0}.transactions-table tbody tr.tx-hide-date td:nth-child(6){grid-column:3;grid-row:1;justify-content:center;padding-left:0}.transactions-table tbody tr.tx-hide-date td:nth-child(5){grid-column:2 / 4;grid-row:2}.transactions-table tbody tr.tx-hide-date td:nth-child(7){grid-column:4;grid-row:1 / 4}}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23aaa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.tx-search,.tx-filter-category,.tx-date-from,.tx-date-to{height:var(--btn-height);min-height:var(--btn-height);padding:0 var(--btn-padding-x);border:none;border-radius:var(--radius-sm);font-size:0,65em;font-weight:600;font-family:inherit;text-align:left;line-height:1.2;background:var(--btn-bg);color:var(--btn-color);box-sizing:border-box;vertical-align:middle;transition:background .2s,color .2s,border-color .2s}.tx-search::placeholder{color:#888}.tx-filter-category{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.tx-search:focus,.tx-filter-category:focus{outline:none;background:#fff;box-shadow:var(--focus-ring)}.tx-date-from,.tx-date-to{border:1px solid #e0e0e6!important;background:#fff!important}.tx-date-from:focus,.tx-date-to:focus{border-color:var(--primary)!important}.transactions-filters .tx-search:focus,.transactions-filters .tx-filter-category:focus,.transactions-filters .tx-date-from:focus,.transactions-filters .tx-date-to:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.app-date-input-wrap{display:inline-flex;width:100%;min-width:0}.app-date-input-wrap input[type=date]{display:none!important}.app-date-input-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:var(--btn-height);min-height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:0,65em;font-weight:600;border:1px solid #e5e5e5;border-radius:var(--radius-sm);background:#fff;color:#555;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s,color .2s}.app-date-input-btn:hover{border-color:var(--primary)}.app-date-input-btn:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.tx-sort-btn,.tx-category-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-height);padding:0 var(--btn-padding-x);background:var(--btn-bg);color:var(--btn-color);border:none;border-radius:var(--radius-sm);font-size:0,65em;font-weight:600;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:background .2s,color .2s,box-shadow .2s,transform .1s}.tx-sort-btn:hover,.tx-category-btn:hover{background:var(--primary);color:#fff}.tx-sort-btn:active,.tx-category-btn:active{transform:translateY(1px)}.tx-sort-btn.active,.tx-category-btn.active{background:var(--primary);color:#fff}.tx-sort-dir-icon{font-size:.78em;opacity:.6}.tx-sort-btn.active .tx-sort-dir-icon{opacity:1}.tx-day-quickbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;align-items:stretch;margin:10px 0;width:100%}.tx-day-quickbar>*{min-width:0}.tx-day-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-height);padding:0 var(--btn-padding-x);background:var(--btn-bg);color:var(--btn-color);border:none;border-radius:var(--radius-sm);font-size:0,65em;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;transition:background .2s,color .2s,box-shadow .2s,transform .1s;width:100%}.tx-day-btn:hover{background:var(--primary);color:#fff}.tx-day-btn:active{transform:translateY(1px)}.tx-day-btn.active{background:var(--primary);color:#fff}.tx-sort-btn,.tx-day-btn,.tx-delete-btn{text-decoration:none}.tx-day-select-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-width:0;height:var(--btn-height);padding:0 var(--btn-padding-x);background:var(--btn-bg);border-radius:var(--main-btn-radius);transition:background .2s,color .2s,box-shadow .2s;box-sizing:border-box;gap:6px;white-space:nowrap;text-align:center;cursor:pointer}.tx-day-select-icon{display:inline-flex;align-items:center;justify-content:center;color:#555;font-size:.9em;flex:0 0 auto;line-height:1;margin:0}.tx-day-select-label{color:#555;font-size:.84em;font-weight:600;line-height:1;pointer-events:none;margin:0}.tx-day-select-wrap:hover{background:var(--primary)}.tx-day-select-wrap:hover .tx-day-select-icon,.tx-day-select-wrap:hover .tx-day-select-label{color:#fff}.tx-day-select-wrap:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.tx-day-select{height:34px;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.01;background:transparent;background-image:none;color:transparent;border:none;border-radius:var(--main-btn-radius);font-size:0;font-family:inherit;font-weight:600;cursor:pointer;white-space:nowrap;min-width:0;text-align:center;text-align-last:center;line-height:34px;transition:background .2s,color .2s,box-shadow .2s;width:100%;flex:1 1 auto;z-index:2;pointer-events:auto}.tx-day-select::-webkit-calendar-picker-indicator{opacity:0;width:100%;height:100%;cursor:pointer}.tx-day-select:hover{background:var(--primary);color:#fff}.tx-day-current-label{text-align:center;font-size:.84em;color:var(--gray);margin:-2px 0 10px;font-weight:600}.transactions-header button{height:34px;font-size:.84em}.tx-calendar-content{max-width:360px;width:min(92vw,360px);padding:16px;border-radius:16px}.tx-cal-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:2px 0 10px;position:relative;z-index:2}.tx-cal-picker,.tx-cal-picker.tx-cal-picker-month,.tx-cal-picker.tx-cal-picker-year{position:relative;background:transparent;box-shadow:none}.tx-cal-picker.tx-cal-picker-month{min-width:100px}.tx-cal-picker.tx-cal-picker-year{min-width:80px}.tx-cal-picker-trigger{width:100%;border:none;background:var(--btn-bg);color:var(--btn-color);border-radius:var(--radius-sm);padding:0 var(--btn-padding-x);height:var(--btn-height);font-size:0,65em;font-weight:600;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s,color .2s}.tx-cal-picker-trigger:hover{background:var(--primary);color:#fff}.tx-cal-picker-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tx-cal-picker-list{list-style:none;margin:0;padding:0;max-height:230px;overflow-y:auto}@media(max-width:500px){.tx-cal-controls{grid-template-columns:1fr}.tx-cal-picker-dropdown{left:50%;min-width:min(88vw,320px)}}.tx-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;color:#8a8f99;font-size:.8em;font-weight:600;text-align:center}.tx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}.tx-cal-empty{min-height:34px}.tx-cal-day{min-height:34px;border:1px solid #e5e5e5;border-radius:10px;background:#f8f9fc;color:#555;font-size:.9em;font-weight:600;cursor:pointer;transition:all .15s ease}.tx-cal-day:hover{border-color:var(--primary);background:#eef1ff;color:var(--primary)}.tx-cal-day.today{border-color:#b8bfd1}.tx-cal-day.active{background:var(--primary);border-color:var(--primary);color:#fff}@media(max-width:599px){.tx-day-quickbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;overflow:visible}.tx-day-quickbar>*{min-width:0}.tx-day-btn{height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:0,65em}.tx-day-select{height:var(--btn-height);padding:0;font-size:0,65em;line-height:var(--btn-height);text-align:center;text-align-last:center}.tx-day-select-icon{display:inline-flex;font-size:0,65em}.tx-day-select-label{font-size:0,65em}#txDayAllBtn{grid-column:1;grid-row:1}.tx-day-select-wrap{height:var(--btn-height);grid-column:2;grid-row:1}#txDayTodayBtn{grid-column:1;grid-row:2}#txDayYesterdayBtn{grid-column:2;grid-row:2}.tx-day-current-label{font-size:.84em}.transactions-header button{height:var(--btn-height);font-size:0,65em}}.transactions-table{width:100%;border-collapse:collapse;font-size:1.05em}.transactions-table thead{background:#f8f9fa}.transactions-table th{padding:8px 10px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #eee;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.transactions-table th:first-child{width:40px;min-width:40px;text-align:center;padding-left:8px;padding-right:8px}.transactions-table th:hover{color:var(--primary)}.transactions-table th .sort-icon{margin-left:4px;font-size:0,65em;opacity:.4}.transactions-table th.sorted .sort-icon{opacity:1;color:var(--primary)}.transactions-table th:last-child{cursor:default}.transactions-table th:last-child:hover{color:#555}.transactions-table td{border-bottom:none;vertical-align:middle;padding:6px 10px}.transactions-table .tx-cell-select{width:40px;min-width:40px;text-align:center;padding-left:8px;padding-right:4px}.transactions-table .tx-cell-select .tx-select-checkbox{margin:0;cursor:pointer}.transactions-table .tx-cell-actions{white-space:nowrap}.transactions-table tbody tr{transition:background .15s ease,box-shadow .15s ease;border-radius:6px}.transactions-table tbody tr:hover{background:#f5f6ff;box-shadow:inset 3px 0 0 var(--primary)}.tx-table-wrapper{width:100%;overflow-y:visible;overflow-x:hidden;overflow-x:clip}.transactions-table.tx-mobile-unified thead{display:none!important}.transactions-table.tx-mobile-unified,.transactions-table.tx-mobile-unified tbody{display:block;width:100%}.transactions-table.tx-mobile-unified tbody{display:block}.transactions-table.tx-mobile-unified tbody tr{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto auto;column-gap:8px;row-gap:2px;width:100%;margin:0 0 6px;padding:4px 10px;min-height:0;border:1px solid #e5e5e5;border-radius:10px;background:#fff;transition:box-shadow .2s,border-color .2s,background .2s;box-sizing:border-box}.transactions-table.tx-mobile-unified tbody tr:last-child{margin-bottom:0}.transactions-table.tx-mobile-unified tbody tr:hover{border-color:var(--primary)}.transactions-table.tx-mobile-unified tbody td{padding:0!important;border:none!important;display:flex;align-items:center}.transactions-table.tx-mobile-unified tbody td:nth-child(1){grid-column:1;grid-row:1 / 4;align-self:center;justify-content:center}.transactions-table.tx-mobile-unified tbody td:nth-child(1) .tx-select-checkbox{margin:0}.transactions-table.tx-mobile-unified tbody td:nth-child(2){grid-column:2;grid-row:1;color:#525a66}.transactions-table.tx-mobile-unified tbody td:nth-child(2) .tx-date-val{font-size:.9em!important;font-weight:500;color:#8f949d}.transactions-table.tx-mobile-unified tbody td:nth-child(3){display:none}.transactions-table.tx-mobile-unified tbody td:nth-child(4){grid-column:2;grid-row:2;min-width:0}.transactions-table.tx-mobile-unified tbody td:nth-child(4) .tx-cat-cell{width:160px}.transactions-table.tx-mobile-unified tbody td:nth-child(4) .cat-item-name{font-size:1em;font-weight:650}.transactions-table.tx-mobile-unified tbody td:nth-child(5){grid-row:3;color:#7d8593;min-width:0}.transactions-table.tx-mobile-unified tbody td:nth-child(5) .tx-desc-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-size:.9em}.transactions-table.tx-mobile-unified tbody td:nth-child(6){grid-column:2;grid-row:2;justify-content:flex-end;align-self:center;padding-right:8px!important}.transactions-table.tx-mobile-unified tbody td:nth-child(6) .tx-amount{font-size:1.06em!important;font-weight:700}.transactions-table.tx-mobile-unified tbody td:nth-child(7){grid-column:3;grid-row:1 / 4;align-self:stretch;justify-self:end;justify-content:center;flex-direction:column;gap:4px}.transactions-table.tx-mobile-unified tbody td:nth-child(5):not(.tx-desc-empty) .tx-desc-text{font-style:italic}.tx-type-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.8em;font-weight:600}.tx-type-badge.income{background:#00b8941a;color:var(--success)}.tx-type-badge.expense{background:#ff76751a;color:var(--danger)}.tx-date-val{display:inline-block;font-size:.9em;border-bottom:none!important;padding-left:0;padding-right:0;padding-bottom:0}.tx-days-remaining{font-size:.8em;margin-left:6px;white-space:nowrap}.tx-days-remaining.tx-days-warning{color:var(--warning, #e67e22)}.tx-days-remaining.tx-days-danger{color:var(--danger, #e74c3c)}.tx-amount{font-weight:700;font-size:1.08em;display:inline-block;border-bottom:none;padding-left:0;padding-right:0;padding-bottom:0}.tx-amount.income{color:var(--success)}.tx-amount.expense{color:var(--danger)}.tx-category-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px 3px;border-radius:20px;font-size:.85em;background:#f0f0f0;border-bottom:1px solid #ddd}.tx-cat-cell{display:block;width:-webkit-fit-content;width:fit-content;max-width:100%;margin:0;border-bottom:none}.tx-cat-main{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;border-radius:0;background:transparent;max-width:100%}.tx-cat-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:var(--cat-item-bar-color, #d4d4d4)}.tx-cat-emoji{display:inline-flex;align-items:center;justify-content:center;font-size:1em;line-height:1}.main-area button,.main-area .tx-day-select{border-radius:var(--main-btn-radius)}.tx-cat-cell .cat-item-name{display:block;font-size:1em;font-weight:600;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-delete-btn{background:none;border:none;color:#ccc;cursor:pointer;font-size:0,65em;width:var(--btn-height);height:var(--btn-height);min-width:var(--btn-height);min-height:var(--btn-height);padding:0;border-radius:var(--radius-sm);transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.tx-delete-btn:hover{color:var(--danger);background:#ff76751a}.tx-delete-btn[title*=Редакт]:hover,.tx-delete-btn[title*=Переименовать]:hover{color:var(--primary);background:var(--primary-glow)}.icon-btn{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;color:#ccc;font-size:1.1em}.icon-btn:hover{color:var(--danger);background:#ff76751a}.transactions-empty{text-align:center;padding:40px 20px;color:#aaa}.transactions-empty i{font-size:3em;margin-bottom:15px;display:block;opacity:.4}.tx-bottom-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #eee}.tx-bottom-bar .tx-pagination{margin-top:0;padding-top:0;border-top:none}@media(max-width:599px){.transactions-page .btn-add,.index-page .btn-add,.accounts-page .btn-add{bottom:max(72px,calc(env(safe-area-inset-bottom,0px) + 56px))}.tx-bottom-bar{flex-direction:column;align-items:stretch;gap:10px;margin-top:16px;padding-top:16px;position:sticky;bottom:0;background:var(--background);padding-bottom:max(12px,env(safe-area-inset-bottom));z-index:100;border-top:1px solid rgba(0,0,0,.06)}.tx-bottom-bar #txRecentlyDeletedBtn{width:100%;justify-content:center}.tx-bottom-bar .tx-pagination{justify-content:center}}.tx-pagination{display:flex;justify-content:center;align-items:center;gap:8px}.tx-pagination button{height:var(--btn-height);padding:0 var(--btn-padding-x);min-height:var(--btn-height);border:2px solid #e5e5e5;border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-weight:600;font-size:0,65em;transition:background .2s,color .2s,border-color .2s;color:var(--btn-color);display:inline-flex;align-items:center;gap:6px}.tx-pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--primary-bg-subtle)}.tx-pagination button:disabled{opacity:.4;cursor:not-allowed}.tx-pagination span{color:#777;font-size:.9em}.transactions-page header h1{font-size:1.35em}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:9500;opacity:0;visibility:hidden;transition:opacity 0s,visibility 0s}.modal.active{display:flex;opacity:1;visibility:visible}.modal-content{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:15px;max-width:1050px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function)}.modal.active .modal-content{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid #eee}.modal-title{font-size:1.8em;color:var(--dark);font-weight:600}.modal-close{background:none;border:none;font-size:1.8em;cursor:pointer;color:#999;transition:all .3s ease;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.modal-close:hover{color:var(--danger);background:#ff76751a;transform:rotate(90deg)}.btn-secondary{width:auto;padding:10px 16px;min-height:var(--btn-height);background:var(--btn-bg);color:var(--btn-color);border:none;border-radius:var(--radius-md);font-size:1em;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-secondary:hover{background:var(--btn-bg-hover)}.btn-secondary.active{background:var(--primary);color:#fff;box-shadow:var(--btn-shadow-hover)}.btn-add{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);color:#fff;width:56px;height:56px;padding:0;border:none;border-radius:50%;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #3d54c759;position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));z-index:9400;font-size:1.25em}.btn-add:hover{transform:scale(1.05);box-shadow:0 6px 20px #3d54c773}.btn-add:active{transform:scale(.95)}.btn-add i{margin:0}.btn-add span,.btn-add .btn-add-text{display:none}.btn-add-icon-only span,.btn-add-icon-only .btn-add-text{display:none!important}@media(min-width:769px){.btn-add{width:56px;height:56px;padding:0;border-radius:50%}.btn-add span,.btn-add .btn-add-text{display:none}}.dropdown-menu{position:absolute;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:8px;box-shadow:var(--glass-shadow);z-index:9000;min-width:200px;margin-top:5px;--dropdown-transform-closed: translate(-50%, -6px) scale(.98);--dropdown-transform-open: translate(-50%, 0) scale(1);opacity:0;transform:var(--dropdown-transform-closed);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.dropdown-menu.open{opacity:1!important;transform:var(--dropdown-transform-open);pointer-events:auto}.dropdown-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background-color .2s;color:#333;font-size:14px;min-height:44px}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item-danger{color:var(--danger)}.dropdown-item-danger:hover{background-color:#fff5f5}.dropdown-item i{min-width:16px}.btn-danger{flex:1;padding:10px 16px;min-height:var(--btn-height);background:var(--danger);color:#fff;border:none;border-radius:var(--radius-md);font-size:1em;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center}.btn-danger:hover{background:#c0392b;transform:translateY(-1px)}.btn-danger:disabled{background:#ccc;cursor:not-allowed;transform:none}.dropdown-divider{height:1px;background-color:#eee;margin:5px 0}.page-card{background:var(--surface);border-radius:var(--page-block-radius);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-card-subtle);transition:transform .25s cubic-bezier(.175,.885,.32,1.275),box-shadow .25s ease-in-out}.page-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.page-card--lg{padding:24px 24px 20px}.skeleton{color:transparent!important;background:linear-gradient(90deg,#0000000a 25%,#00000014,#0000000a 75%);background-size:400% 100%;animation:skeleton-loading 1.2s ease-in-out infinite;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;pointer-events:none}.skeleton *{visibility:hidden}.skeleton-chart{height:300px;width:100%;display:block;border-radius:var(--radius-md)}.skeleton-text{height:1.2em;width:60%;display:inline-block;border-radius:4px}.skeleton-card{min-height:120px;width:100%;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.changelog-btn{background:none;border:none;color:#e6e0ef;cursor:pointer;font-size:.95em;font-weight:700;font-family:inherit;padding:0;text-decoration:none;opacity:.9;transition:opacity .15s}.changelog-btn:hover{opacity:1;text-decoration:underline}.plus-info-modal .profile-update-modal-content{width:min(520px,calc(100vw - 20px));max-width:520px!important;max-height:min(82vh,760px);display:flex;flex-direction:column}.plus-info-modal .profile-update-modal-header{margin-bottom:12px;flex-shrink:0}.plus-info-modal #plusInfoContent{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:2px}.plus-info-modal .modal-actions{flex-shrink:0}.changelog-content{max-height:60vh;overflow-y:auto;padding:4px 0 8px}.changelog-loading{text-align:center;padding:24px 0;color:var(--text-muted, #aaa)}.changelog-version{margin:16px 0 6px;font-size:1em;font-weight:700;color:var(--primary);display:flex;align-items:center;gap:8px}.changelog-version:first-child{margin-top:4px}.changelog-version-badge{background:var(--primary);color:#fff;border-radius:6px;padding:2px 8px;font-size:.85em;font-weight:600}.changelog-items{list-style:none;padding:0;margin:0 0 4px}.changelog-items li{padding:4px 0 4px 16px;position:relative;font-size:.93em;line-height:1.5}.changelog-items li:before{content:"•";position:absolute;left:4px;color:var(--primary)}#editCategoryModal{z-index:9501!important}#editCategoryModal .modal-content{max-width:420px}.category-color-picker{width:44px;height:40px;padding:3px;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;background:#fff;transition:border-color .2s}.category-color-picker:hover{border-color:var(--primary)}.category-icon-circle{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1em;background:#fff;border:2px solid var(--icon-color, #ccc)}.emoji-picker-close{background:none;border:none;font-size:1.5em;cursor:pointer;color:#999;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;padding:0}.emoji-picker-close:hover{background:#f0f0f0;color:#666}.tx-rows-container{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.tx-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;padding:16px;background:#f8f9fa;border-radius:var(--radius-lg);border:1px solid #e5e5e5;transition:all .2s;position:relative}.tx-row:hover{border-color:var(--primary);box-shadow:0 2px 10px #667eea1a}.tx-row-number{position:absolute;top:-8px;left:12px;background:var(--primary);color:#fff;font-size:.7em;padding:2px 8px;border-radius:10px;font-weight:600}.tx-row .form-group{margin-bottom:0}.tx-row .form-group label{display:block;color:#555!important}.tx-row .form-group input,.tx-row .form-group select{width:100%;min-width:auto;padding:10px;font-size:.9em;box-sizing:border-box}.section-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:144px;overflow:auto;padding:8px;border:1px solid #e5e5e5;border-radius:10px;background:#fafbff}.tx-checkbox-label{display:flex;align-items:center;gap:10px;font-size:.92em;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.tx-checkbox-label input[type=checkbox]{position:absolute;opacity:0;pointer-events:none;margin:0}.tx-check-box{width:20px;height:20px;min-width:20px;border:2px solid #e5e5e5;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;box-shadow:inset 0 1px 2px #0000000d}.tx-checkbox-label input[type=checkbox]:checked~.tx-check-box{background:var(--primary);border-color:var(--primary);box-shadow:0 2px 6px #667eea4d}.tx-check-box:after{content:"";width:5px;height:9px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px);opacity:0;transition:opacity .12s}.tx-checkbox-label input[type=checkbox]:checked~.tx-check-box:after{opacity:1}.tx-row-remove{background:none;border:none;color:#ccc;cursor:pointer;font-size:1em;padding:0;width:32px;height:32px;min-width:32px;min-height:32px;border-radius:var(--radius-sm);transition:all .2s;align-self:center;margin-top:0;display:inline-flex;align-items:center;justify-content:center}.tx-row-remove:hover{color:var(--danger);background:#ff76751a}.add-row-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding:14px;border:2px dashed #e5e5e5;border-radius:12px;background:#fafafa;cursor:pointer;font-weight:600;color:#999;transition:all .3s;font-size:.95em}.add-row-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg-subtle)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(var(--scale-start)) translateY(var(--slide-in-offset))}to{opacity:1;transform:scale(var(--scale-end)) translateY(0)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(var(--scale-end)) translateY(0)}to{opacity:0;transform:scale(var(--scale-start)) translateY(var(--slide-in-offset))}}@keyframes fadeIn{0%{opacity:0;transform:translateY(var(--slide-in-offset))}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(calc(var(--slide-in-offset) * -.5))}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){header{margin-bottom:20px;padding-top:14px;padding-bottom:15px}.content{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.stat-card-compact{padding:10px 14px;border-radius:12px}.stat-icon-compact{font-size:1.2em}.stat-value-compact{font-size:1em}.stat-label-compact{font-size:.75rem}.chart-pie-details-row{flex-direction:column}.chart-details-block{min-width:0}.container{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-top:0;padding-left:14px;padding-right:14px}.main-area{min-width:min(100%,320px);padding:10px 10px 0}.transactions-section{padding:10px;border-radius:var(--page-block-radius)}.chart-card{padding:0}.content{gap:10px;margin-bottom:14px}.chart-container{min-height:180px;height:200px;padding:10px}#categoryChartContainer{min-width:0;height:160px;min-height:160px}header h1{font-size:1.3em}.btn-add{bottom:20px;right:20px}.user-info{position:relative;top:auto;right:auto;justify-content:center;margin-top:15px;flex-wrap:wrap;z-index:9406}.transactions-table{font-size:.85em}.global-month-bar{gap:8px;margin-bottom:12px}.global-month-bar label{font-size:.85em}.chart-month-label{font-size:.8em;word-break:break-word}.collapsible-header{padding:12px;gap:8px}.collapsible-header h2{font-size:1.2em;margin:0;flex:1}.collapsible-arrow{font-size:.75em;margin-left:8px;flex-shrink:0}}.month-label{font-size:.9em;font-weight:400;color:#888;margin-left:28px}.collapsible-header{display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;padding:10px 12px;border:1px solid #e5e5e5;border-radius:var(--page-block-radius);transition:background-color .2s ease,border-color .2s ease}.collapsible-header:hover{background-color:var(--primary-bg-subtle);border-color:#d8deed}.chart-card>.collapsible-header{border:none;border-radius:0}.chart-card>.collapsible-header:hover{border:none}.chart-card>.collapsible-header,.transactions-section>.collapsible-header{min-height:56px;padding:12px 14px;align-items:center}.transactions-section>.collapsible-header{flex-wrap:wrap;row-gap:10px;border:1px solid #e8e8ec;border-radius:var(--radius-md);background:#fafbfc;transition:background-color .2s,border-color .2s}.transactions-section>.collapsible-header:hover{background:#f5f6f9;border-color:#e0e2e8}.transactions-section>.collapsible-header>div:first-child{min-width:0}.transactions-section>.collapsible-header #transactionsSectionTitle{min-width:0;color:#2d3436;font-weight:700;font-size:1.15em}.transactions-section>.collapsible-header .month-label{font-size:.9em;color:#636e72;font-weight:500;margin-top:2px}.chart-card>.collapsible-header .collapsible-arrow{margin-left:auto;margin-top:0}.transactions-section>.collapsible-header .collapsible-arrow{margin-left:auto;margin-top:0;flex-shrink:0;color:#2d3436;font-size:.7em;transition:transform .25s ease,color .2s}.transactions-section>.collapsible-header .collapsible-arrow.collapsed{transform:rotate(-90deg)}.tx-filters-toggle-btn{height:var(--btn-height);padding:0 var(--btn-padding-x);background:var(--btn-bg);color:var(--btn-color);border:none;border-radius:var(--radius-sm);font-size:.65em;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .2s,color .2s,transform .1s;white-space:nowrap;flex-shrink:0;position:relative}.tx-filters-toggle-btn.has-active-filters:after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:1.5px solid white;pointer-events:none}.transactions-section>.collapsible-header .tx-filters-toggle-btn{margin-left:auto}.tx-filters-toggle-btn:hover,.tx-filters-toggle-btn.active{background:var(--primary);color:#fff}.tx-filters-toggle-btn.active:hover{background:#5568d3;color:#fff}.collapsible-arrow{transition:transform .3s ease;font-size:.8em;margin-left:10px;margin-top:8px;flex-shrink:0}.collapsible-arrow.collapsed{transform:rotate(-90deg)}.collapsible-content{overflow:hidden;transition:max-height var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function);max-height:5000px;opacity:1}.collapsible-content.collapsed{max-height:0;opacity:0;pointer-events:none;visibility:hidden;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;margin:0!important;border:none!important}.user-badge{position:relative}.user-profile-clickable{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:20px;transition:background-color .2s}.user-profile-clickable:hover{background-color:#fff3}.profile-update-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:9500;opacity:0;visibility:hidden;transition:opacity 0s,visibility 0s}.profile-update-modal.active{display:flex;opacity:1;visibility:visible}.profile-update-modal-content{background:#fff;padding:15px;border-radius:12px;width:90%;max-width:400px;box-shadow:0 10px 30px #0003;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function)}.profile-update-modal.active .profile-update-modal-content{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.profile-update-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.profile-update-modal-header h3{margin:0;color:#333}.profile-update-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.profile-update-modal-close:hover{color:#333}.profile-update-form .form-group{margin-bottom:15px}.profile-update-form label{display:block;margin-bottom:5px;font-weight:600;color:#555}.profile-update-form input{width:100%;padding:12px;border:2px solid #e5e5e5;border-radius:8px;font-size:16px;transition:border-color .2s}.profile-update-form input:focus{outline:none;border-color:var(--primary)}#userName{position:relative}.emoji-picker-popup{max-height:300px;overflow-y:auto;position:absolute;z-index:1001;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 4px 12px #00000026;display:none;overflow:hidden}.emoji-picker-popup.active{display:flex;animation:modalSlideIn .2s ease-out}.emoji-grid-scroll{flex:1;overflow-y:auto;overflow-x:hidden}@media(max-width:768px){.emoji-picker-popup{max-height:50vh;max-width:95vw;left:50%!important;transform:translate(-50%);position:fixed;bottom:10px;top:auto!important;right:auto!important;width:90%;margin:0 auto;max-width:400px;padding:12px;border-radius:12px}.emoji-grid-scroll{max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:4px}.emoji-option{font-size:1.8em!important;padding:12px!important;min-width:44px;min-height:44px;border-radius:8px}.emoji-picker-header{flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #eee}.emoji-tabs{display:flex;overflow-x:auto;padding-bottom:4px;margin-bottom:8px;gap:6px;-webkit-overflow-scrolling:touch}.emoji-tab{padding:6px 10px;font-size:1.2em;white-space:nowrap}}@media(max-width:480px){.emoji-picker-popup{max-height:60vh;max-width:98vw;width:95%;bottom:5px;padding:10px;border-radius:10px}.emoji-grid{grid-template-columns:repeat(5,1fr);gap:3px}.emoji-option{font-size:1.6em!important;padding:10px!important;min-width:40px;min-height:40px;border-radius:6px}.emoji-grid-scroll{max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.emoji-picker-header h4{font-size:1em;margin:0 5px}.emoji-picker-close{width:28px;height:28px;font-size:1.3em}}.dropdown-menu{max-height:70vh;overflow-y:auto}@media(max-width:768px){.dropdown-menu:not(#userProfileDropdown){position:fixed!important;top:50%!important;left:50%!important;--dropdown-transform-open: translate(-50%, -50%) scale(1);--dropdown-transform-closed: translate(-50%, -52%) scale(.98);min-width:250px;max-width:calc(100% - 20px);max-height:80vh;overflow-y:auto;margin:0!important;z-index:9000!important}.user-profile-clickable{padding:10px;gap:6px}.avatar-emoji{font-size:1.3em!important}.dropdown-item{padding:12px 14px;font-size:14px;white-space:nowrap}#userProfileDropdown{min-width:min(260px,calc(100vw - 16px))!important}#userName{font-size:.95em!important}.period-select-trigger{font-size:.92em}}.category-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:8px}.feature-gate-hint{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(99,115,231,.25);background:#6373e714;color:#4b5563;font-size:.9rem;line-height:1.35}.feature-gate-hint i{color:#6373e7;margin-top:1px;flex-shrink:0}.feature-gate-hint--compact{margin-bottom:14px;font-size:.86rem}.feature-gate-hint a{color:var(--primary, #3d54c7);font-weight:600;text-decoration:none}.feature-gate-hint a:hover{text-decoration:underline}.plus-gate{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 24px;text-align:center}.plus-gate-icon{font-size:2em;color:var(--primary, #3d54c7);opacity:.9}.plus-gate-title{font-weight:700;font-size:1.05em;color:var(--text-primary, #212121)}.plus-gate-desc{font-size:.88em;color:var(--text-secondary, #66666e);line-height:1.5;max-width:320px}.plus-gate-btn{margin-top:4px}body.dark-theme .feature-gate-hint{border-color:#7b8cff52;background:#7b8cff24;color:#d8dbe7}body.dark-theme .feature-gate-hint i{color:#95a3ff}@media(max-width:768px){.category-cards-grid{grid-template-columns:1fr}}@media(max-width:480px){.user-profile-clickable{padding:8px;gap:4px}.avatar-emoji{font-size:1.2em!important}#userName{font-size:.9em!important;max-width:100px;overflow:hidden;text-overflow:ellipsis}.user-badge{padding:8px 12px!important}.dropdown-menu:not(#userProfileDropdown){--dropdown-transform-open: translate(-50%, -50%) scale(1);--dropdown-transform-closed: translate(-50%, -52%) scale(.98)}}@media(max-width:768px){#categoryModal .modal-content{max-width:95vw;padding:15px}#categoryModal [style*=grid-template-columns]{display:flex!important;flex-direction:column!important;gap:12px!important}#categoryModal .form-group{width:100%}#categoryModal [style*="height: 100%"]{height:auto!important}#categoryModal .btn-secondary[style*="padding: 10px 15px"]{width:100%;padding:12px 15px!important;height:auto}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1}}.lazy-load{opacity:0;transform:translateY(20px);transition:opacity .4s ease-out,transform .4s ease-out}.lazy-load.loaded{opacity:1;transform:translateY(0)}body:not(.fonts-loaded){font-display:swap}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.category-item{animation:fadeInUp .4s ease forwards}.pulse-animation{animation:pulse .5s ease}.slide-in-animation{animation:slideInFromRight .4s ease}.category-details-list{margin-top:12px;padding-left:14px;padding-right:14px}.category-details-list .category-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;transition:background .18s,box-shadow .18s;margin-bottom:4px;position:relative}.category-details-list .category-item:hover{background:#667eea12;box-shadow:0 2px 8px #667eea1a}.category-details-list .category-item.active{background:#667eea21;box-shadow:0 2px 12px #667eea2e}.category-details-list .category-item.dimmed{opacity:.3;transition:opacity .2s ease}.cat-item-icon{font-size:1.25em;line-height:1;flex-shrink:0}.cat-item-info{flex:1;min-width:0}.cat-item-name{font-size:.85em;font-weight:600;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-item-bar-row{display:flex;align-items:center;gap:6px;margin-top:3px;width:160px}.cat-item-bar-track{flex:1;height:4px;background:#f0f0f0;border-radius:2px;overflow:hidden}.cat-item-bar-fill{height:100%;border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.cat-item-pct{font-size:.72em;color:#aaa;white-space:nowrap;min-width:32px;text-align:right}.cat-item-amount{font-weight:700;font-size:.88em;color:var(--dark);white-space:nowrap}.cat-item-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.category-item-has-other{flex-wrap:wrap}.category-item-other-toggle{margin-left:auto;padding:4px 8px;border:none;background:transparent;cursor:pointer;border-radius:6px;color:var(--gray, #888);transition:background .2s,color .2s}.category-item-other-toggle:hover{background:#667eea1a;color:var(--dark, #2d3436)}.category-item-other-chevron{font-size:.7em;display:inline-block;transition:transform .2s ease}.category-item-other-breakdown{width:100%;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}.category-item-other-hint{font-size:.75em;color:#888;margin:0 0 6px;line-height:1.3}.category-item-other-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.8em}.category-item-other-row .cat-item-dot{width:8px;height:8px}.category-item-other-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dark, #2d3436)}.category-item-other-pct{color:#888;white-space:nowrap;margin-right:6px}.category-item-other-amount{font-weight:600;color:var(--dark, #2d3436);white-space:nowrap}#categoryChartContainer canvas,#horizontalBarChart{cursor:pointer}.category-color-indicator{width:14px;height:14px;border-radius:50%;flex-shrink:0}.avatar-picker-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:9500;opacity:0;visibility:hidden;transition:opacity 0s,visibility 0s}.avatar-picker-modal.active{display:flex;opacity:1;visibility:visible}.avatar-picker-modal-content{background:#fff;padding:15px;border-radius:12px;width:90%;max-width:520px;box-shadow:0 10px 30px #0003;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function);display:flex;flex-direction:column;max-height:80vh;overflow-y:auto}.avatar-picker-modal.active .avatar-picker-modal-content{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.avatar-picker-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.avatar-picker-modal-header h3{margin:0;color:#333}.avatar-picker-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999}.avatar-picker-modal-close:hover{color:#333}.avatar-picker-container{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0;width:100%;box-sizing:border-box;padding-right:6px}.avatar-picker-container::-webkit-scrollbar{width:6px}.avatar-picker-container::-webkit-scrollbar-track{background:transparent}.avatar-picker-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.avatar-picker-container::-webkit-scrollbar-thumb:hover{background:#999}.emoji-grid-modal{grid-template-columns:repeat(9,1fr);width:100%;box-sizing:border-box}@media(max-width:768px){.emoji-grid-modal{grid-template-columns:repeat(7,1fr)}.avatar-picker-modal-content{width:95%;max-width:480px;max-height:85vh;border-radius:12px}}@media(max-width:480px){.emoji-grid-modal{grid-template-columns:repeat(5,1fr)}.avatar-picker-modal-content{width:95%;max-width:420px;max-height:90vh;border-radius:8px}.avatar-picker-modal-header h3{font-size:1.1em}.avatar-picker-buttons button{font-size:14px;padding:10px}}.export-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:9500}.export-modal.active{display:flex;opacity:1;visibility:visible}.export-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:15px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function)}.export-modal.active .export-modal-content{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.export-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;border-bottom:1px solid #eee}.export-modal-header h3{margin:0;color:var(--dark);font-size:1.4em}.export-modal-close{background:none;border:none;font-size:1.8em;cursor:pointer;color:#999;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.export-modal-close:hover{color:#666;background:#f5f5f5}.export-options{display:flex;flex-direction:column;gap:20px}.export-options p{margin:0 0 15px;color:#555;font-weight:500;font-size:1.1em}.export-option{display:flex;flex-direction:column;gap:8px}.export-option p{margin:5px 0 0;color:#777;font-size:.9em}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-actions .submit-btn,.modal-actions .btn-secondary{flex:1;padding:10px;font-size:.92em;border-radius:10px}:is(#multiTransactionModal,#editTransactionModal) .modal-content{max-width:560px;border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000026,0 0 0 1px #0000000d}:is(#multiTransactionModal,#editTransactionModal) .modal-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee}:is(#multiTransactionModal,#editTransactionModal) .modal-title{font-size:1.35em;font-weight:700;color:var(--dark)}:is(#multiTransactionModal,#editTransactionModal) .modal-close{color:#888;width:36px;height:36px;font-size:1.5em}:is(#multiTransactionModal,#editTransactionModal) .modal-close:hover{color:var(--danger);background:#ff76751a}:is(#multiTransactionModal,#editTransactionModal) .modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #eee}:is(#multiTransactionModal,#editTransactionModal) .modal-actions .btn-secondary{min-height:44px;padding:10px 20px;background:#f0f0f4;color:#555;border:1px solid #e0e0e6;border-radius:var(--radius-md);font-size:1em;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}:is(#multiTransactionModal,#editTransactionModal) .modal-actions .btn-secondary:hover{background:#e8e8ee;border-color:#d0d2d8;color:#333}:is(#multiTransactionModal,#editTransactionModal) .modal-actions .submit-btn{min-height:44px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1em;font-weight:600;box-shadow:var(--shadow-primary);display:inline-flex;align-items:center;justify-content:center;gap:8px}:is(#multiTransactionModal,#editTransactionModal) .modal-actions .submit-btn:hover{background:#5568d3;transform:translateY(-1px);box-shadow:var(--shadow-primary-hover)}:is(#accountModal,#adjustModal,#ratesModal) .modal-content{max-width:560px;padding:20px 24px 24px;border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000026,0 0 0 1px #0000000d}:is(#accountModal,#adjustModal,#ratesModal) .modal-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee}:is(#accountModal,#adjustModal,#ratesModal) .modal-title{font-size:1.35em;font-weight:700;color:var(--dark)}:is(#accountModal,#adjustModal,#ratesModal) .modal-close{color:#888;width:36px;height:36px;font-size:1.5em}:is(#accountModal,#adjustModal,#ratesModal) .modal-close:hover{color:var(--danger);background:#ff76751a}:is(#accountModal,#adjustModal,#ratesModal) .modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #eee;flex-wrap:wrap}:is(#accountModal,#adjustModal,#ratesModal) .modal-actions .btn-secondary{min-height:44px;padding:10px 20px;background:#f0f0f4;color:#555;border:1px solid #e0e0e6;border-radius:var(--radius-md);font-size:1em;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}:is(#accountModal,#adjustModal,#ratesModal) .modal-actions .btn-secondary:hover{background:#e8e8ee;border-color:#d0d2d8;color:#333}:is(#accountModal,#adjustModal,#ratesModal) .modal-actions .submit-btn{min-height:44px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:1em;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}:is(#accountModal,#adjustModal,#ratesModal) .modal-actions .submit-btn:hover{transform:translateY(-1px)}:is(#multiTransactionModal,#editTransactionModal) .add-row-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:20px;padding:14px 20px;border:2px dashed #d0d2d8;border-radius:var(--radius-md);background:#fafbfc;cursor:pointer;font-weight:600;color:#636e72;font-size:.98em;transition:border-color .2s,color .2s,background .2s}:is(#multiTransactionModal,#editTransactionModal) .add-row-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg-subtle)}#multiTransactionModal .tx-row,#editTxRow{grid-template-columns:1fr 1fr;gap:12px;align-items:start}#multiTransactionModal .tx-row .form-group,#editTxRow .form-group{margin-bottom:0}#multiTransactionModal .tx-row .form-group label,#editTxRow .form-group label{margin-bottom:5px!important;font-weight:600;color:#555!important}#editTxRow .form-group:has(#editTxType){grid-column:1}#editTxRow .form-group:has(#editTxCategory){grid-column:2}#multiTransactionModal .tx-row .form-group input:not([type=checkbox]),#multiTransactionModal .tx-row .form-group select,#editTxRow .form-group input:not([type=checkbox]),#editTxRow .form-group select{width:100%;min-width:auto;padding:5px 10px;min-height:32px;box-sizing:border-box}#multiTransactionModal .tx-row .form-group:has(:is(.tx-date,.tx-amount-input,.tx-description)),#editTxRow .form-group:has(:is(#editTxDate,#editTxAmount,#editTxDescription)),#multiTransactionModal .tx-row-remove,#editTxSectionGroup,#editTxExcludeChartsGroup{grid-column:1 / -1}#multiTransactionModal .tx-row .form-group:has(.tx-type){grid-column:1}#multiTransactionModal .tx-row .form-group:has(.tx-category){grid-column:2}#multiTransactionModal .tx-row .form-group:has(:is(.tx-section,.add-section-dropdown)){grid-column:1 / -1}#multiTransactionModal .tx-row-remove{margin-top:0}#txRowsContainer button{font-family:inherit}#txRowsContainer :is(.app-date-input-btn,.edit-section-toggle),#editTransactionModal :is(.app-date-input-btn,.edit-section-toggle),.export-modal .app-date-input-btn{border:2px solid #e5e5e5;border-radius:8px;background:#fafafa;color:#444;font-size:.9em;font-weight:500;box-shadow:none}#txRowsContainer .app-date-input-btn,#editTransactionModal .app-date-input-btn,.export-modal .app-date-input-btn{height:32px;min-height:32px;justify-content:flex-start;padding:0 10px}#txRowsContainer .edit-section-toggle,#editTransactionModal .edit-section-toggle{height:32px;min-height:32px;padding:0 10px}#multiTransactionModal .tx-row-remove,#editTransactionModal .tx-row-remove{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1em}#txRowsContainer :is(.app-date-input-btn,.edit-section-toggle):hover,#editTransactionModal :is(.app-date-input-btn,.edit-section-toggle):hover,.export-modal .app-date-input-btn:hover{border-color:#bbb;background:#f5f5f5;box-shadow:none}#txRowsContainer :is(.app-date-input-btn,.edit-section-toggle):focus-visible,#editTransactionModal :is(.app-date-input-btn,.edit-section-toggle):focus-visible,.export-modal .app-date-input-btn:focus-visible{outline:none;border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}#editTxExcludeChartsGroup .tx-checkbox-label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:8px;width:100%;min-height:40px;font-size:.9em;font-weight:400;color:inherit;margin-bottom:0;background:#f8faff;border:2px solid #e5e5e5;border-radius:10px;padding:0 10px;white-space:nowrap}#editTxExcludeChartsGroup .tx-checkbox-label .tx-check-box{width:18px;height:18px;min-width:18px}#editTxExcludeChartsGroup .tx-checkbox-label>span:last-child{display:block;line-height:1.2;white-space:nowrap}#editTransactionModal .section-checkboxes{grid-template-columns:1fr;max-height:180px}#multiTransactionModal .modal-actions{display:flex;flex-wrap:wrap}#multiTransactionModal .modal-actions .btn-secondary{flex:1;min-width:120px}#multiTransactionModal .modal-actions .submit-btn{flex:1;min-width:140px}.ai-import-banner{display:flex;align-items:center;gap:12px;padding:11px 14px;margin-top:12px;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#f5f0ff);border:1.5px solid rgba(99,102,241,.22);cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .12s;text-align:left;width:100%;font-family:inherit}.ai-import-banner:hover{border-color:var(--primary);background:linear-gradient(135deg,#e8edff,#ede8ff);box-shadow:0 3px 10px #6366f121;transform:translateY(-1px)}.ai-import-banner:active{transform:scale(.98)}.ai-import-banner-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--primary) 0%,#7c3aed 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1em;flex-shrink:0}.ai-import-banner-body{flex:1;min-width:0}.ai-import-banner-body strong{display:block;font-size:.91em;color:var(--text-primary, #1e293b);font-weight:700}.ai-import-banner-body span{display:block;font-size:.79em;color:var(--text-secondary, #64748b);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-import-banner-arrow{color:var(--primary);font-size:.78em;flex-shrink:0;opacity:.55}.ai-import-banner:disabled{opacity:.5;cursor:not-allowed}.ai-tx-import-modal .profile-update-modal-content.ai-tx-import-modal-content{max-width:560px;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px 24px 0;border-radius:var(--radius-lg);box-shadow:0 12px 40px #00000026,0 0 0 1px #0000000d;overflow:hidden;display:flex;flex-direction:column}.ai-tx-import-modal .profile-update-modal-header.ai-tx-import-modal-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #eee;flex-shrink:0}.ai-tx-import-modal-header-inner{display:flex;align-items:flex-start;gap:12px}.ai-tx-import-modal-icon{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1em;flex-shrink:0;box-shadow:var(--shadow-card-subtle)}.ai-tx-import-modal-title{margin:0 0 4px;font-size:1.35em;font-weight:700;color:var(--text-primary)}.ai-tx-import-modal-subtitle{margin:0;font-size:.9em;color:var(--text-secondary);line-height:1.4}.ai-tx-import-modal .profile-update-modal-close{color:#888;width:36px;height:36px;font-size:1.5em;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .2s,background .2s}.ai-tx-import-modal .profile-update-modal-close:hover{color:var(--danger);background:#b8212114}.ai-tx-import-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:16px}.ai-tx-import-or-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-secondary);font-size:.8em;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.ai-tx-import-or-divider:before,.ai-tx-import-or-divider:after{content:"";flex:1;height:1px;background:#e8e8ec}.ai-tx-import-modal .ai-tx-import-form-group,.ai-tx-import-modal .ai-tx-import-options-group{margin-bottom:16px}.ai-tx-import-file-group{margin-top:0}.ai-tx-import-modal .ai-tx-import-form-group label,.ai-tx-import-modal .ai-tx-import-options-group>label:first-child{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:.95em}.ai-tx-import-modal textarea{width:100%;padding:12px 14px;border:1px solid #e0e0e6;border-radius:var(--radius-md);font-size:1em;font-family:inherit;box-sizing:border-box;min-height:120px;resize:vertical;line-height:1.5;color:var(--text-primary);background:var(--surface);transition:border-color .2s,box-shadow .2s}.ai-tx-import-modal textarea::placeholder{color:var(--text-secondary);opacity:.8}.ai-tx-import-modal textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.ai-tx-import-file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-tx-import-file-row input[type=file]{flex:1 1 260px;min-width:200px;max-width:100%;font-size:.9em;padding:8px 0}.ai-tx-import-file-clear{min-width:90px;min-height:var(--btn-height-sm);border-radius:var(--radius-md)}.ai-tx-import-file-meta{margin-top:8px;font-size:.85em;color:var(--text-secondary);line-height:1.4}.ai-tx-import-bank-select{width:100%;min-height:var(--btn-height-sm);border:1px solid #e0e0e6;border-radius:var(--radius-md);padding:0 12px;background:var(--surface);color:var(--text-primary);font-size:1em;margin-bottom:12px;transition:border-color .2s,box-shadow .2s}.ai-tx-import-anchor-row{display:grid;gap:8px;margin-bottom:12px}.ai-tx-import-anchor-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.ai-tx-import-toggle-row.ai-tx-import-toggle-row-inline{margin-bottom:0;color:var(--text-primary)}.ai-tx-import-anchor-controls .ai-tx-import-bank-select{margin-bottom:0}.ai-tx-import-validation-note{margin-top:8px;padding:10px 12px;border-radius:var(--radius-md);background:#b4530914;border:1px solid rgba(180,83,9,.28);color:#92400e;font-size:.85em;line-height:1.4}.ai-tx-import-modal .modal-actions .submit-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.ai-tx-import-bank-select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.ai-tx-import-toggle-row{display:flex!important;align-items:flex-start;gap:10px;font-size:.9em;color:var(--text-secondary);font-weight:500;margin:0;line-height:1.4}.ai-tx-import-toggle-row input[type=checkbox]{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}.ai-tx-import-modal .modal-actions.ai-tx-import-modal-actions{flex-shrink:0;display:flex;gap:12px;margin-top:0;padding:16px 24px 24px;border-top:1px solid #eee;background:var(--surface);z-index:2}.ai-tx-import-modal .modal-actions .btn-secondary{min-height:44px;padding:10px 20px;background:#f0f0f4;color:#555;border:1px solid #e0e0e6;border-radius:var(--radius-md);font-size:1em;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ai-tx-import-modal .modal-actions .btn-secondary:hover{background:#e8e8ee;border-color:#d0d2d8;color:#333}.ai-tx-import-modal .modal-actions .submit-btn{min-height:44px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1em;font-weight:600;box-shadow:var(--shadow-primary);display:inline-flex;align-items:center;justify-content:center;gap:8px}.ai-tx-import-modal .modal-actions .submit-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.ai-tx-import-feedback{display:none;margin-top:16px;border-radius:var(--radius-md);padding:14px 16px;border:1px solid #e8e8ec;background:var(--light);color:var(--text-primary);font-size:.92em}.ai-tx-import-feedback.is-loading,.ai-tx-import-feedback.is-success,.ai-tx-import-feedback.is-error{display:block}.ai-tx-import-feedback.is-loading{background:var(--primary-bg-subtle);border-color:var(--primary-border)}.ai-tx-import-feedback.is-success{background:#176b3d14;border-color:#176b3d40}.ai-tx-import-feedback.is-error{background:#b821210f;border-color:#b8212140}.ai-tx-import-feedback-title{font-weight:700;margin-bottom:6px;color:var(--text-primary)}.ai-tx-import-feedback-meta{color:var(--text-secondary);line-height:1.4;font-size:.95em}.ai-tx-import-verify-banner{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;background:rgba(var(--primary-rgb, 61, 84, 199),.08);border-radius:10px;font-size:.9em;color:var(--text-secondary)}.ai-tx-import-verify-banner i{color:var(--primary);opacity:.7;font-size:1.1em;flex-shrink:0}.ai-tx-import-feedback-section{margin-top:12px}.ai-tx-import-feedback-section-title{font-weight:600;margin-bottom:8px;color:var(--text-primary);font-size:.95em}.ai-tx-import-test-hint .ai-tx-import-feedback-section-title{color:var(--primary)}.ai-tx-import-test-hint-text{margin:0 0 8px;font-size:.9em;color:var(--text-secondary);line-height:1.4}.ai-tx-import-feedback-section ul{margin:0;padding-left:20px;display:grid;gap:6px;max-height:28vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.ai-tx-import-feedback-section li{line-height:1.4}.ai-tx-import-feedback-section li span{color:var(--text-secondary)}.ai-tx-import-skipped-list{max-height:35vh}.ai-skipped-detail{font-size:.9em;color:var(--text-secondary)}.ai-tx-import-progress-wrap{margin:10px 0 12px;width:100%;height:8px;border-radius:999px;background:#e8e8ec;overflow:hidden}.ai-tx-import-progress-line{height:100%;border-radius:inherit;background:var(--primary);transition:width .35s ease}.ai-tx-import-clarify-list{display:grid;gap:10px;max-height:32vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.ai-tx-import-clarify-row{border:1px solid var(--primary-border);border-radius:var(--radius-md);background:var(--primary-bg-soft);padding:12px 14px}.ai-tx-import-clarify-header{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:.9em}.ai-tx-import-clarify-header span{color:var(--text-secondary)}.ai-tx-import-clarify-question{font-size:.9em;color:var(--text-primary);margin-bottom:10px;line-height:1.4}.ai-tx-import-clarify-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-tx-import-clarify-controls label{font-size:.85em;color:var(--text-secondary);margin-bottom:0}.ai-tx-import-clarify-controls select{width:100%;margin-top:6px;min-height:var(--btn-height-sm);border:1px solid #e0e0e6;border-radius:var(--radius-md);padding:0 12px;background:var(--surface);font-size:.95em}.ai-tx-import-clarify-controls select:focus{outline:none;border-color:var(--primary)}.ai-clarify-status{margin-top:8px;font-size:.82em;color:var(--warning)}.ai-clarify-status.is-ok{color:var(--success)}@media(max-width:600px){.ai-tx-import-modal{align-items:flex-start;padding:0 12px 12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:100dvh;min-height:-webkit-fill-available}.ai-tx-import-modal .profile-update-modal-content.ai-tx-import-modal-content{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);margin:max(12px,env(safe-area-inset-top)) auto 0;padding:16px 18px 0;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.ai-tx-import-modal .profile-update-modal-header.ai-tx-import-modal-header{padding-bottom:12px;margin-bottom:14px}.ai-tx-import-modal .profile-update-modal-close{width:44px;height:44px;min-width:44px;min-height:44px;font-size:1.4em;margin:-4px -4px 0 0}.ai-tx-import-modal-body{padding-bottom:12px}.ai-tx-import-modal .modal-actions.ai-tx-import-modal-actions{padding:14px 18px max(20px,env(safe-area-inset-bottom));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.ai-tx-import-modal .modal-actions .btn-secondary,.ai-tx-import-modal .modal-actions .submit-btn{min-height:48px;padding:12px 20px;font-size:1rem}.ai-tx-import-modal textarea{font-size:16px;min-height:100px;padding:14px 16px}.ai-tx-import-modal .ai-tx-import-bank-select,.ai-tx-import-modal .ai-tx-import-clarify-controls select{font-size:16px;min-height:48px}.ai-tx-import-modal-subtitle{font-size:.85em}.ai-tx-import-file-row{align-items:stretch}.ai-tx-import-anchor-controls{grid-template-columns:1fr}.ai-tx-import-file-row input[type=file]{min-width:100%;min-height:48px;padding:12px 0}.ai-tx-import-file-clear{min-height:48px}.ai-tx-import-toggle-row{font-size:.85em;line-height:1.4}.ai-tx-import-toggle-row input[type=checkbox]{width:22px;height:22px;min-width:22px;min-height:22px}.ai-tx-import-clarify-controls{grid-template-columns:1fr}.ai-tx-import-clarify-controls select{min-height:48px}#editTxRow{grid-template-columns:1fr 1fr}#editTxRow .form-group:has(:is(#editTxDate,#editTxAmount,#editTxDescription)),#editTxSectionGroup,#editTxExcludeChartsGroup{grid-column:1 / -1!important}#editTxRow .form-group:has(#editTxType){grid-column:1!important}#editTxRow .form-group:has(#editTxCategory){grid-column:2!important}}@supports (-webkit-touch-callout: none){html,body{min-height:-webkit-fill-available}body{background-attachment:scroll}}@media(max-width:599px){.modal-title{font-size:1.25em}.modal-header{margin-bottom:18px;padding-bottom:14px}}.export-filters{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.export-filters h4{margin:0 0 15px;color:var(--dark);font-size:1.1em}.export-modal-actions{display:flex;justify-content:space-between;gap:5px;margin-top:20px;padding-top:20px;border-top:1px solid #eee;flex-wrap:wrap}.export-modal-actions button{padding:10px 12px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;flex:1;min-width:80px;margin:0}.export-cancel-btn{display:block;width:100%;margin-top:10px;text-align:center}.btn-cancel{min-height:var(--btn-height);padding:10px 18px;background:#f8f9fa;color:#666;border:1px solid #ddd;border-radius:var(--radius-md);font-weight:600;font-size:1em;transition:background .2s,color .2s,border-color .2s}.btn-cancel:hover{background:#e9ecef;color:#333;border-color:#ccc}.flex-1{flex:1}.show-all-label{display:flex;align-items:center;gap:6px;font-weight:600;color:#555;cursor:pointer}.show-all-label input[type=checkbox]{width:auto;accent-color:var(--primary);cursor:pointer}.icon-emoji-picker{position:absolute;z-index:10500;background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 20px #00000026;width:280px;overflow:hidden}.icon-emoji-tabs{display:flex;gap:2px;padding:8px;border-bottom:1px solid #eee;overflow-x:auto;scrollbar-width:none}.icon-emoji-tabs::-webkit-scrollbar{display:none}.icon-emoji-tab{flex:0 0 auto;padding:5px 9px;border:none;background:transparent;cursor:pointer;font-size:1.1em;border-radius:6px;transition:background .15s;line-height:1}.icon-emoji-tab:hover,.icon-emoji-tab.active{background:#f0f0f0}.icon-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;max-height:200px;overflow-y:auto}.icon-emoji-option{padding:5px;font-size:1.3em;border:none;background:transparent;cursor:pointer;border-radius:6px;line-height:1;transition:background .15s;text-align:center}.icon-emoji-option:hover{background:#f0f0f0}.sections-tabs{display:inline-flex;justify-content:flex-start;align-items:center;background-color:#f1f2f6;padding:4px;border-radius:12px;margin-bottom:16px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}.sections-tabs::-webkit-scrollbar{display:none}.section-tab{background:transparent;border:none;color:var(--text-secondary);padding:6px 16px;border-radius:8px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.section-tab:hover{color:var(--text-primary)}.section-tab.active{background:#fff;color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.section-manage-item{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:6px;transition:background-color .2s}.section-manage-item:hover{background-color:#f8f9fa}.section-manage-item.active{background-color:#e8f0ff}.section-manage-name{background:none;border:none;color:#333;cursor:pointer;padding:0;font-size:.95em;flex:1;text-align:left;transition:color .2s}.section-manage-name:hover{color:var(--primary)}.section-manage-controls{display:flex;align-items:center;gap:6px}.section-control-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px 6px;font-size:.85em;transition:color .2s;display:flex;align-items:center}.section-control-btn:hover{color:var(--primary)}.section-control-btn.delete:hover{color:var(--danger)}.section-toggle-include{display:flex;align-items:center;gap:4px;cursor:pointer;padding:0 6px;white-space:nowrap}.section-toggle-include input[type=checkbox]{cursor:pointer;width:16px;height:16px}.section-toggle-include .toggle-label{font-size:.85em;color:#666}.sections-tabs{display:flex;gap:6px;padding:0 24px 8px;overflow-x:auto;scrollbar-width:thin;flex-wrap:wrap;background:var(--bg)}.sections-tabs::-webkit-scrollbar{height:4px}.sections-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.section-tab-btn{padding:5px 14px;border-radius:20px;border:1px solid var(--border);background:var(--card-bg);color:var(--text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .18s;white-space:nowrap}.section-tab-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light, #eef2ff)}.section-tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px #6366f140}.sec-item{position:relative;margin:0 6px 2px;border-radius:6px;transition:background .14s}.sec-item:hover{background:#f5f5f7}.sec-item.active{background:#eef2ff}.sec-view-row,.sec-edit-row{display:flex;align-items:center;gap:4px;padding:4px 6px}.sec-name-btn{flex:1;background:none;border:none;text-align:left;font-size:.875rem;color:var(--text);cursor:pointer;padding:2px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sec-name-btn:hover{color:var(--primary)}.sec-item.active .sec-name-btn{font-weight:600;color:var(--primary)}.sec-controls{display:flex;align-items:center;gap:2px;flex-shrink:0}.sec-btn{width:24px;height:24px;border-radius:4px;border:none;background:none;cursor:pointer;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;color:#888;transition:background .14s,color .14s;flex-shrink:0}.sec-btn:hover{background:#e0e0e5;color:var(--text)}.sec-btn-edit:hover{color:var(--primary)}.sec-btn-del:hover{color:var(--danger);background:#fee2e2}.sec-btn-save{color:#16a34a}.sec-btn-save:hover{background:#d1fae5;color:#16a34a}.sec-btn-cancel:hover{background:#fee2e2;color:var(--danger)}.sec-btn-move{color:var(--primary);font-size:.7rem;width:auto;padding:0 6px;height:22px}.sec-btn-move:hover{background:#eef2ff}.sec-btn-delall{color:var(--danger);font-size:.7rem;width:auto;padding:0 6px;height:22px}.sec-btn-delall:hover{background:#fee2e2}.sec-edit-input{flex:1;height:26px;padding:0 6px;font-size:.83rem;border:1px solid var(--primary);border-radius:4px;outline:none;background:#fff;color:var(--text);min-width:0}.sec-del-confirm{flex-direction:column;align-items:stretch;gap:4px;padding:6px 8px 8px;background:#fff8f8;border-top:1px solid #fde0e0;border-radius:0 0 6px 6px}.sec-del-text{font-size:.78rem;color:var(--danger);font-weight:600;padding-bottom:2px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sec-del-confirm .sec-btn-move,.sec-del-confirm .sec-btn-delall,.sec-del-confirm .sec-btn-cancel{width:100%;justify-content:center;border-radius:4px;height:26px;font-size:.75rem;border:1px solid currentColor;opacity:.9}.sec-del-confirm .sec-btn-move{border-color:var(--primary);background:#eef2ff}.sec-del-confirm .sec-btn-delall{border-color:var(--danger);background:#fee2e2}.sec-del-confirm .sec-btn-cancel{border-color:#ccc;color:#666;background:#f5f5f7}.sec-toggle{position:relative;width:28px;height:16px;cursor:pointer;flex-shrink:0}.sec-toggle input{opacity:0;width:0;height:0;position:absolute}.sec-toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:#ccc;transition:background .2s}.sec-toggle-track:before{content:"";position:absolute;width:11px;height:11px;background:#fff;border-radius:50%;top:2.5px;left:2.5px;transition:transform .2s;box-shadow:0 1px 2px #0000002e}.sec-toggle input:checked+.sec-toggle-track{background:var(--primary)}.sec-toggle input:checked+.sec-toggle-track:before{transform:translate(12px)}.sec-add-btn{display:flex;align-items:center;gap:6px;width:100%;padding:7px 14px;background:#f8f9fa;border:none;border-top:1px solid #eee;font-size:.85rem;color:var(--primary);cursor:pointer;text-align:left;transition:background .14s}.sec-add-btn:hover{background:#eef2ff}.sec-create-input{flex:1;height:28px;padding:0 8px;font-size:.83rem;border:1px solid var(--primary);border-radius:4px;outline:none;background:#fff;color:var(--text);min-width:0}#sectionsModal .modal-content{max-width:600px;padding:30px}#sectionManagementList{max-height:60vh;overflow-y:auto;border-top:1px solid #eee;border-bottom:1px solid #eee;border-radius:12px}#sectionsModal .sec-item{padding:9px 10px;border-bottom:1px solid #eee;transition:background-color .2s}#sectionsModal .sec-item:hover{background-color:#fafafa}#sectionsModal .sec-item.active{background-color:var(--primary-bg-subtle)}#sectionsModal .sec-view-row{min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:8px}#sectionsModal .sec-info{display:flex;align-items:center;gap:10px;min-width:0}#sectionsModal .sec-name{font-weight:600;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#sectionsModal .sec-info .badge{font-size:.68em;font-weight:600;background:var(--primary);color:#fff;padding:2px 8px;border-radius:999px}.btn-icon{width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;background:transparent;border:none;cursor:pointer}.btn-icon:hover{background-color:#0000000d;color:var(--primary)}.btn-icon.delete:hover{background-color:#ff76751a;color:var(--danger)}#sectionsModal .sec-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}#sectionsModal .sec-controls-main{justify-content:flex-end;align-items:center;min-height:100%}#sectionsModal .sec-action-buttons{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex-shrink:0}#sectionsModal .sec-controls .tx-delete-btn{font-size:1.1em;padding:3px 6px;width:auto;height:auto;color:#ccc;background:none;border:none;box-shadow:none}#sectionsModal .sec-controls .tx-delete-btn:hover{color:var(--primary);background:#eef2ff}#sectionsModal .sec-controls .sec-delete-btn:hover{color:var(--danger);background:#ff76751a}#sectionsModal .sec-toggle{display:inline-flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none;min-width:0}#sectionsModal .sec-toggle-label{font-size:.82rem;color:#666;white-space:nowrap}#sectionsModal .sec-toggle-wrap{position:relative;width:40px;height:22px;display:inline-flex;align-items:center;border-radius:999px;background:linear-gradient(180deg,#f7f8fb,#eceff6);border:1px solid #d9d9d9;box-shadow:inset 0 1px 1px #fffc,0 1px 2px #0000000f;overflow:hidden}#sectionsModal .sec-toggle-wrap input{opacity:0;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;margin:0;cursor:pointer}#sectionsModal .sec-toggle .slider{display:block;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#f0f2f7eb;border:1px solid rgba(0,0,0,.06);box-shadow:inset 0 1px 2px #0000001f;transition:background-color .22s ease,box-shadow .22s ease;pointer-events:none}#sectionsModal .sec-toggle .slider-before{display:block;position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.06);box-shadow:0 2px 6px #0003;transition:transform .22s ease;pointer-events:none}.add-section-form{display:flex;gap:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.add-section-form input{flex:1}#sectionsModal .sec-toggle input:checked+.slider{background:var(--primary);box-shadow:inset 0 1px 1px #ffffff38,0 0 0 1px var(--primary)}#sectionsModal .sec-toggle input:checked+.slider+.slider-before{transform:translate(18px)}#sectionsModal .sec-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}#sectionsModal .sec-edit-row .btn-secondary,#sectionsModal .sec-edit-row .submit-btn{width:36px;min-width:36px;height:36px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}#sectionsModal .sec-edit-row .submit-btn{box-shadow:none}#editTxSectionGroup .section-checkboxes{border:none;background:transparent;padding:0;max-height:none;overflow:visible;display:block}.edit-section-dropdown{position:relative;width:100%}.edit-section-toggle{width:100%;min-height:32px;height:32px;border:2px solid #e5e5e5;background:#fafafa;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between;padding:0 10px;color:#444;font-weight:500;font-size:.9em;cursor:pointer;transition:all .2s ease}.edit-section-toggle:hover{border-color:#bbb;background:#f5f5f5}.edit-section-toggle.is-disabled,.edit-section-toggle:disabled{cursor:not-allowed;opacity:.72;border-color:#e6e6ee;background:#f5f5f7}.edit-section-toggle.is-disabled:hover,.edit-section-toggle:disabled:hover{border-color:#e6e6ee;background:#f5f5f7}.edit-section-toggle i{font-size:.85em;color:#888;transition:transform .2s ease}.edit-section-dropdown.open .edit-section-toggle i{transform:rotate(180deg)}.edit-section-toggle-text{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 20px)}.edit-section-menu{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 8px 22px #14204624;padding:8px;max-height:210px;overflow-y:auto}.edit-section-dropdown.open .edit-section-menu{display:grid;gap:6px}.edit-section-menu .tx-checkbox-label{display:grid!important;grid-template-columns:16px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;background:#f8faff;border:1px solid #e5e5e5;border-radius:10px;padding:7px 9px;font-weight:500;white-space:nowrap}.edit-section-menu .tx-checkbox-label.is-disabled{opacity:.72}.tx-sections-plus-hint{margin-top:6px;font-size:.78em;color:#7d7d88;line-height:1.3}.edit-section-menu .tx-checkbox-label:hover{background:#eef3ff}.edit-section-menu .tx-checkbox-label .tx-check-box{width:16px;height:16px;min-width:16px;max-width:16px;border-radius:4px;border-width:1.5px;align-self:center;justify-self:center;margin:0;transform:none}.edit-section-menu .tx-checkbox-label>span:last-child{display:block!important;font-size:.9em;line-height:1.15!important;min-height:0;margin:0;transform:none;text-align:left;align-self:center}.sec-del-confirm{border:1px solid rgba(255,118,117,.35);background:linear-gradient(180deg,#fff,#fff7f7);margin-top:10px;border-radius:12px;padding:12px;animation:fadeIn .24s ease}.sec-del-title{color:var(--danger);font-weight:600;font-size:.9rem;margin-bottom:8px}.sec-del-actions{display:flex;gap:8px;flex-wrap:wrap}.sec-del-actions .btn-secondary{flex:1 1 170px;min-height:38px;padding:10px 12px;font-size:.84rem;border-radius:10px}.sec-del-move{background:var(--primary-bg-active);color:var(--primary)}.sec-del-delete{background:var(--danger);color:#fff}.sec-del-cancel{background:#f1f3f5;color:#666}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}#sectionsModal.modal{background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sec-create-input-modal{width:100%;height:44px;padding:0 12px;font-size:.95rem;border:2px solid #e5e5e5;border-radius:10px;background:#fafafa;transition:all .2s}.sec-create-input-modal:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}.modal,.auth-modal,.profile-update-modal,.avatar-picker-modal{background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity var(--modal-animation-duration) ease,visibility var(--modal-animation-duration) ease}.modal-content,.auth-container,.profile-update-modal-content,.avatar-picker-modal-content,.export-modal-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}#userProfileDropdown .dropdown-item+.dropdown-item{border-top:1px solid #eee}@media(max-width:600px){#sectionsModal .modal-content{padding:15px;width:92%;max-width:420px;height:auto;max-height:84vh;border-radius:14px}#sectionManagementList{max-height:45vh}#sectionsModal .sec-controls{gap:8px}.btn-icon{width:28px;height:28px}#sectionsModal .sec-view-row{grid-template-columns:minmax(0,1fr) auto;row-gap:0;min-height:40px}#sectionsModal .sec-info{min-width:100%}#sectionsModal .sec-controls{width:auto;justify-content:flex-end;gap:6px}#sectionsModal .sec-controls-main{justify-content:flex-end;align-items:center}#sectionsModal .sec-controls-main .sec-action-buttons{margin-left:auto;flex-direction:row;align-items:center;justify-content:flex-end;height:100%}#sectionsModal .sec-controls .tx-delete-btn{width:29px;height:29px;padding:0}#sectionsModal .sec-action-buttons{gap:5px;flex-direction:row}#sectionsModal .sec-controls-main .sec-action-buttons{flex-direction:row!important;justify-content:flex-end;align-items:center}#sectionsModal .sec-edit-row{grid-template-columns:minmax(0,1fr) auto auto}.edit-section-toggle{min-height:32px;height:32px;padding:0 10px}.edit-section-menu{max-height:180px}.edit-section-menu .tx-checkbox-label{display:grid!important;grid-template-columns:16px minmax(0,1fr)!important;align-items:center!important;column-gap:8px!important;padding:8px 9px;font-size:.9em;line-height:1.1;white-space:nowrap}.edit-section-menu .tx-checkbox-label .tx-check-box{align-self:center}.edit-section-menu .tx-checkbox-label>span:last-child{display:block!important;min-height:0;line-height:1.15!important;margin:0;transform:none;align-self:center}.sec-del-actions .btn-secondary{flex:1 1 100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.friends-tabs{display:flex;gap:0;border-bottom:1px solid #eee;margin-bottom:14px}.friends-tab{flex:1;padding:9px 4px;border:none;background:transparent;font-size:.9em;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;transition:color .18s,border-color .18s;position:relative}.friends-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.friends-badge{display:inline-block;background:var(--danger);color:#fff;font-size:.7em;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:4px;vertical-align:middle}.plus-menu-badge{margin-left:auto;font-size:.75em;font-weight:600;color:#1f8f53;background:#2ecc7126;border:1px solid rgba(46,204,113,.35);border-radius:999px;padding:2px 8px}.friend-card,.friend-request-card{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-bottom:1px solid #f0f0f0;gap:10px}.friend-card:last-child,.friend-request-card:last-child{border-bottom:none}.friend-info{display:flex;align-items:center;gap:10px;min-width:0}.friend-avatar{font-size:1.5em;line-height:1;flex-shrink:0}.friend-username{font-weight:500;font-size:.95em;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-actions{display:flex;gap:6px;flex-shrink:0}.friend-btn{padding:6px 10px!important;font-size:.82em!important;white-space:nowrap}.friend-btn-danger{color:var(--danger)!important;border-color:#e74c3c4d!important}.friend-btn-danger:hover{background:#e74c3c0f!important}.friends-section-label{font-size:.78em;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#aaa;margin:4px 0 6px;padding:0 2px}.friends-empty{text-align:center;padding:28px 16px;color:#bbb;font-size:.92em}.friends-empty i{font-size:2em;margin-bottom:8px;display:block}.friends-empty p{margin:4px 0}.friend-compare-period-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.friend-compare-period-controls select{width:100%;border:1px solid #e6e8ee;border-radius:10px;background:#fff;color:#444;font-size:.88em;padding:8px 10px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:4px}.compare-col{background:#f8f9fa;border-radius:10px;padding:12px;text-align:center}.compare-col-label{font-size:.85em;font-weight:600;color:#555;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-stat{font-size:1em;font-weight:600;padding:4px 0}.compare-stat.income{color:var(--success)}.compare-stat.expense{color:var(--danger)}.compare-cats h4{font-size:.9em;color:#666;margin:10px 0 8px}.compare-summary-card{margin:10px 0 4px;background:#f8f9fa;border-radius:10px;padding:10px 12px;border:1px solid #edf0f3}.compare-summary-title{font-size:.82em;font-weight:700;color:#586070;margin-bottom:6px}.compare-summary-row{font-size:.82em;color:#677080;line-height:1.35}.compare-summary-row+.compare-summary-row{margin-top:4px}.compare-summary-row.good{color:#197a47}.compare-summary-row.warn{color:#b0553f}.compare-cat-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:8px;margin-bottom:8px}.compare-cat-name{font-size:.82em;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-bars{display:flex;flex-direction:column;gap:3px}.compare-bar-wrap{display:flex;align-items:center;gap:6px;height:14px}.compare-bar{height:8px;border-radius:4px;min-width:2px;transition:width .3s ease}.friend-bar{background:var(--primary-soft);opacity:.75}.my-bar{background:var(--primary);opacity:.75}.compare-bar-label{font-size:.75em;color:#888;white-space:nowrap}.compare-legend{font-size:.8em;color:#888;margin-top:10px;text-align:right}.compare-meta-note{font-size:.78em;color:#888;margin-top:8px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:3px;vertical-align:middle}.friend-dot{background:var(--primary-soft)}.my-dot{background:var(--primary)}.privacy-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:.92em;cursor:pointer}.privacy-toggle-row:last-child{border-bottom:none}.privacy-toggle-row input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.privacy-cat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color, #f0f0f0);font-size:.88em;cursor:pointer;gap:8px}.privacy-cat-row:last-child{border-bottom:none}.privacy-cat-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.privacy-cat-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.privacy-cat-list{margin:2px 0 10px 16px;border-left:2px solid var(--border-color, #eee);padding-left:12px;max-height:42vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.privacy-cat-actions{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 8px}.privacy-cat-actions .friend-btn{padding:4px 8px!important;font-size:.78em!important}@media(max-width:700px){.friend-privacy-modal .profile-update-modal-content,.friend-compare-modal .profile-update-modal-content{max-height:88vh;display:flex;flex-direction:column}#friendPrivacyBody,#friendCompareBody{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:#fffffff5;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:stretch;z-index:9100;box-shadow:0 -2px 16px #0000000f}.bottom-nav-inner{display:flex;width:100%;max-width:1200px;margin:0 auto}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#aaa;font-size:.68em;font-weight:600;padding:6px 4px 10px;cursor:pointer;border:none;background:none;transition:color .18s;position:relative;-webkit-tap-highlight-color:transparent;letter-spacing:.01em}.nav-item i{font-size:1.3em;transition:transform .18s;line-height:1}.nav-item.active{color:var(--primary, #3d54c7);font-weight:700;background:#3d54c714;border-radius:12px;margin:4px 2px}.nav-item.active i{transform:scale(1.2);color:var(--primary, #3d54c7)}.nav-item:active i{transform:scale(.9);transition:transform .08s}.nav-item:active{color:var(--primary)}@media(min-width:769px){.bottom-nav{bottom:20px;left:50%;right:auto;transform:translate(-50%);width:auto;min-width:280px;max-width:420px;border-radius:22px;border-top:none;border:1.5px solid rgba(102,126,234,.15);height:58px;box-shadow:0 8px 32px #0000001f,0 2px 8px #667eea1a}.nav-item{padding:8px 22px;font-size:.7em;min-width:88px;gap:4px}.nav-item.active{margin:4px}.nav-item i{font-size:1.25em}}.container{padding-bottom:80px}@media(min-width:769px){.container{padding-bottom:96px}}.accounts-page{overflow-x:hidden}.accounts-page .main-content{background:var(--bg, #f7f7fa);min-height:100vh;overflow-x:hidden}.accounts-page .container{box-sizing:border-box}.accounts-page .page{width:100%;max-width:min(1080px,100vw);margin:12px auto 0;padding-bottom:88px;min-width:0}@media(max-width:768px){.accounts-page .page{padding-bottom:calc(88px + env(safe-area-inset-bottom,0))}}.page-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:20px}.page-title{font-size:22px;font-weight:700;margin:0}.btn-rates{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted, #66666e);border-radius:var(--radius-md);cursor:pointer;font-size:18px}.btn-rates:hover{background:#00000014;color:var(--text, #212121)}.btn-rates i{font-size:1.1em}.section-label{font-size:13px;font-weight:600;color:var(--muted, #66666e);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.summary-card{background:var(--surface, #ffffff);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:16px;box-shadow:0 2px 8px #0000000f;margin-bottom:16px;min-width:0}.summary-grid{display:flex;flex-wrap:wrap;gap:12px}.summary-item{display:flex;flex-direction:column;gap:2px;min-width:100px}.summary-currency{font-size:11px;font-weight:600;color:var(--muted, #66666e);text-transform:uppercase}.summary-value{font-size:18px;font-weight:700}.summary-total{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);font-size:14px;font-weight:600;color:var(--muted, #66666e)}.analysis-card{margin-bottom:16px}.rec{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--radius-md);margin-bottom:6px;font-size:13px;line-height:1.4}.rec-icon{font-size:15px;flex-shrink:0;margin-top:1px}.rec-warning{background:#b87d001a;color:#b87d00}.rec-info{background:#1565c014;color:#1565c0}.rec-success{background:#176b3d1a;color:#176b3d}.bank-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;min-width:0}.bank-chip{display:flex;align-items:center;gap:8px;background:var(--surface, #ffffff);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:8px 12px;font-size:13px}.bank-chip.chip-warning{border-color:#b87d00;background:#b87d001a}.chip-name{font-weight:600}.chip-amount{color:var(--muted, #66666e)}.chip-pct{font-size:11px;font-weight:700;color:var(--primary);background:#3d54c714;padding:2px 6px;border-radius:4px}.accounts-add-section{margin-top:16px;margin-bottom:24px}.btn-add-full{display:block;width:100%;max-width:min(720px,100%);margin:0 auto;padding:14px 20px;font-size:15px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,#5466c7 100%);border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 2px 8px #3d54c738;transition:box-shadow .15s,filter .15s}.btn-add-full:hover{filter:brightness(1.06);box-shadow:0 4px 14px #3d54c752}.account-card{background:var(--surface, #ffffff);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:14px 16px;box-shadow:0 2px 8px #0000000f;margin-bottom:8px;transition:box-shadow .2s;cursor:pointer}.account-card:hover{box-shadow:0 4px 14px #00000014}.acc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.acc-name{font-size:14px;font-weight:600}.acc-actions{display:flex;gap:4px}.btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted, #66666e);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:background .15s}.btn-icon:hover{background:#00000014}.btn-delete:hover{color:#b82121}.acc-body{display:flex;align-items:baseline;justify-content:space-between}.acc-balance{font-size:17px;font-weight:700}.acc-bank{font-size:12px;color:var(--muted, #66666e)}.acc-rate-badge{font-size:11px;font-weight:600;color:var(--primary);background:#3d54c714;padding:2px 8px;border-radius:999px;margin-left:6px}.acc-rate-inline{font-size:11px;font-weight:600;color:#176b3d;margin-top:4px}.acc-income{font-size:12px;color:#176b3d;margin-top:2px}.acc-income+.acc-income{margin-top:4px}.acc-income-accrued{color:#176b3d;font-weight:600}.acc-income-projected{color:#176b3d;opacity:.85}.form-hint{font-size:11px;color:var(--muted, #66666e);margin-top:4px;line-height:1.4}.acc-notes{margin-top:6px;font-size:12px;color:var(--muted, #66666e);line-height:1.4}.account-history-body{max-height:min(62vh,560px);overflow-y:auto;padding-right:4px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:10px 12px;background:var(--surface, #fff)}.history-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.history-item-title{font-size:13px;font-weight:600;color:var(--text, #212121)}.history-item-amount{font-size:13px;font-weight:700;color:#176b3d}.history-item-date{margin-top:4px;font-size:12px;color:var(--muted, #66666e)}.empty-state{text-align:center;color:var(--muted, #66666e);padding:40px 0;font-size:14px}.rates-grid{display:flex;flex-wrap:wrap;gap:12px}.rate-field{display:flex;align-items:center;gap:6px;font-size:13px}.rate-field label{font-weight:600;min-width:42px;color:var(--muted, #66666e)}.rate-field input{width:80px;padding:6px 8px;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);font-size:13px;text-align:right;font-family:inherit}.rate-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3d54c714}.rate-unit{color:var(--muted, #66666e);font-size:12px}.accounts-page .form-group{margin-bottom:14px}.accounts-page .form-group label{display:block;font-size:12px;font-weight:600;color:var(--muted, #66666e);margin-bottom:4px}.accounts-page .form-group input,.accounts-page .form-group select,.accounts-page .form-group textarea{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);font-size:14px;font-family:inherit;background:var(--bg, #f7f7fa);color:var(--text, #212121);outline:none;transition:border-color .15s,box-shadow .15s}.accounts-page .form-group input:focus,.accounts-page .form-group select:focus,.accounts-page .form-group textarea:focus{border-color:#3d54c738;box-shadow:0 0 0 3px #3d54c714}.accounts-page .form-group textarea{resize:vertical;min-height:60px}.accounts-page .account-modal-card{padding:12px;border-radius:16px;border:1px solid rgba(61,84,199,.16);background:#3d54c70a;margin-bottom:12px}.accounts-page #accountModal .account-modal-card .form-group:last-child{margin-bottom:0}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal) .modal-content{max-width:600px;border-radius:22px;padding:20px 20px 16px}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal) .modal-title{font-size:20px;line-height:1.2}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal) .modal-actions{margin-top:18px;padding-top:14px}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal) .modal-actions .btn-secondary,.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal) .modal-actions .submit-btn{min-height:46px;border-radius:14px;flex:1 1 0}.accounts-page #adjustButtonsWrap .submit-btn{flex:1 1 calc(50% - 6px)}.form-row{display:flex;gap:12px}.form-row .form-group{flex:1}.adjust-account-item{padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);margin-bottom:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .12s,border-color .12s}.adjust-account-item:hover{background:var(--bg, #f7f7fa)}.adjust-account-item.selected{border-color:var(--primary);background:#3d54c714}@media(max-width:768px){.accounts-page .container{padding:0 14px 12px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}@media(max-width:480px){.page-title{font-size:20px}.summary-value{font-size:16px}.acc-balance{font-size:15px}.form-row{flex-direction:column;gap:0}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal) .modal-content{border-radius:18px 18px 0 0;padding:16px 14px 14px}}.investments-page{--brand: var(--primary);--brand-soft: var(--primary-soft)}.investments-page .investments-content,.investments-page .page{width:min(1080px,100%);margin:0 auto 28px;padding-bottom:100px}@media(max-width:768px){.investments-page .investments-content{padding-bottom:140px}}@media(min-width:769px){.investments-page .investments-content{padding-bottom:90px}}.investments-page .hero,.investments-page .inv-card{background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:var(--page-block-radius, 16px);box-shadow:var(--shadow-card-subtle, 0 4px 14px rgba(0, 0, 0, .1))}.investments-page .hero{padding:16px;margin-bottom:12px}.investments-page .hero-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.investments-page .hero p{margin:0;color:var(--text-secondary)}.investments-page .inv-grid,.investments-page .grid{display:grid;gap:12px}.investments-page .inv-card,.investments-page .card{padding:12px;background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:var(--page-block-radius, 16px);box-shadow:var(--shadow-card-subtle, 0 4px 14px rgba(0, 0, 0, .1))}.investments-page .inv-card-title,.investments-page .card-title{font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.investments-page .inv-card-title-row,.investments-page .card-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:10px}.investments-page .import-accent{background:#f9fbff}.investments-page .import-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.investments-page .import-row input[type=file]{flex:1;min-width:220px}.investments-page .feature-hint{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(61,84,199,.2);background:#3d54c714;color:#555;font-size:.88em}.investments-page .stats-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.investments-page .inv-three-lines{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.investments-page .inv-three-lines .stat-box{min-width:0}@media(max-width:520px){.investments-page .inv-three-lines{grid-template-columns:repeat(2,1fr)}}.investments-page .stat-box{border:1px solid rgba(0,0,0,.08);border-radius:12px;background:var(--surface);padding:10px}.investments-page .stat-box .k{color:var(--text-secondary);font-size:.8em;margin-bottom:4px}.investments-page .stat-box .v{font-weight:700;color:var(--text-primary)}.investments-page .filters-row{display:grid;gap:8px;grid-template-columns:1fr 1fr auto;align-items:end}.investments-page .field{display:grid;gap:4px}.investments-page .field label{font-size:.78em;color:var(--text-secondary);font-weight:600}.investments-page .field input,.investments-page .field select{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:var(--surface);padding:10px 12px;font:inherit}.investments-page .rows{display:grid;gap:8px;margin-top:10px}.investments-page .order-row{display:flex;gap:10px;align-items:center;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:var(--surface);padding:10px 12px}.investments-page .order-row[data-side=buy]{border-color:#1f8f5338;box-shadow:0 3px 12px #1f8f530d}.investments-page .order-row[data-side=sell]{border-color:#c0392b38;box-shadow:0 3px 12px #c0392b0d}.investments-page .dot{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75em;font-weight:700;flex-shrink:0}.investments-page .dot.buy{background:#176b3d1a;color:var(--success);border:1px solid rgba(31,143,83,.28)}.investments-page .dot.sell{background:#b8212114;color:var(--danger);border:1px solid rgba(192,57,43,.28)}.investments-page .order-main{min-width:0;flex:1;display:grid;gap:2px}.investments-page .order-main-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.investments-page .coin{font-weight:700}.investments-page .badge{border-radius:999px;padding:2px 7px;font-size:.7em;font-weight:700}.investments-page .badge.buy{color:var(--success);background:#176b3d1a}.investments-page .badge.sell{color:var(--danger);background:#b8212114}.investments-page .status{color:#888;font-size:.74em;font-weight:600}.investments-page .meta,.investments-page .counterparty{color:var(--text-secondary);font-size:.82em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.investments-page .amounts{min-width:128px;text-align:right;display:grid;gap:2px}.investments-page .fiat{font-weight:700}.investments-page .sub{color:var(--text-secondary);font-size:.82em}.investments-page .price{font-size:.78em;font-weight:600}.investments-page .row-actions{display:flex;gap:4px}.investments-page .icon-btn{background:none;border:none;color:#ccc;cursor:pointer;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:var(--radius-sm);transition:all .2s;display:inline-flex;align-items:center;justify-content:center;font-size:.84em}.investments-page .icon-btn:hover{color:var(--danger);background:#ff76751a}.investments-page .icon-btn.brand:hover,.investments-page .icon-btn.info:hover{color:var(--primary);background:var(--primary-glow)}.investments-page .pagination{margin-top:10px;display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap}.investments-page .pagination .info{color:var(--text-secondary);font-size:.9em;min-width:90px;text-align:center}.investments-page .table-wrap{overflow:auto;border:1px solid rgba(0,0,0,.08);border-radius:12px;background:var(--surface)}.investments-page .table{width:100%;border-collapse:collapse;min-width:760px;font-size:.9em}.investments-page .table th,.investments-page .table td{padding:8px;border-bottom:1px solid #f0f2f7}.investments-page .table th{text-align:left;background:#f7f9fd}.investments-page .table td.num,.investments-page .table th.num{text-align:right}.investments-page .empty{color:#888;font-size:.9em}.investments-page .error-box{margin-top:10px;color:var(--danger);font-size:.9em;padding:10px 12px;border:1px solid rgba(192,57,43,.18);background:#c0392b0a;border-radius:10px}.investments-page .success-box{margin-top:10px;color:var(--success);font-size:.9em;padding:10px 12px;border:1px solid rgba(31,143,83,.2);background:#1f8f530f;border-radius:10px}.investments-page .inv-fab,.investments-page .fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(72px,calc(env(safe-area-inset-bottom,0) + 56px));width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);color:#fff;box-shadow:0 4px 14px #3d54c759;cursor:pointer;font-size:1.4em;font-weight:300;z-index:100;display:flex;align-items:center;justify-content:center}@media(min-width:769px){.investments-page .inv-fab,.investments-page .fab{bottom:max(20px,env(safe-area-inset-bottom))}}.investments-page .modal-box,.investments-page .inv-modal-box{width:min(620px,calc(100vw - 24px));max-height:min(88vh,900px);overflow:auto;background:var(--surface);border:1px solid rgba(0,0,0,.08);border-radius:16px;box-shadow:0 18px 40px #1b23421f;padding:14px}.investments-page .modal-head,.investments-page .inv-modal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.investments-page .close-x{border:none;background:transparent;color:#777;cursor:pointer;font-size:24px;line-height:1}.investments-page .two-col,.investments-page .inv-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.investments-page .modal-actions,.investments-page .inv-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}@media(max-width:780px){.investments-page .filters-row,.investments-page .inv-two-col,.investments-page .two-col{grid-template-columns:1fr}.investments-page .hero-top{flex-direction:column;align-items:stretch}.investments-page .order-row{flex-wrap:wrap;align-items:flex-start;gap:6px 10px}.investments-page .amounts{flex-basis:100%;min-width:0;padding-left:48px;text-align:left}.investments-page .row-actions{flex-direction:row;align-self:flex-start;gap:4px}}.investments-page .muted{color:var(--text-secondary);font-size:.9em}.investments-page .btn{border:1px solid rgba(0,0,0,.08);background:var(--surface);color:var(--text-primary);border-radius:10px;padding:9px 12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:14px}.investments-page .btn:hover{background:#f8f9ff}.investments-page .btn:disabled{opacity:.5;cursor:not-allowed}.investments-page .btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);border-color:var(--primary);color:#fff}.investments-page .btn-primary:hover{filter:brightness(1.05)}.investments-page .inv-refresh-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.investments-page .inv-refresh-row .btn{margin:0}.investments-page #investmentsUserDropdown.show{display:block!important}
