:root{--primary: #3d54c7;--primary-soft: #5466c7;--secondary: #4fb38f;--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--success: #176b3d;--danger: #b82121;--warning: #ebb34f;--info: #0984e3;--dark: #212121;--text-primary: #212121;--text-secondary: #66666e;--light: #f7f7fa;--gray: #66666e;--background: #f4f6fb;--background-elevated: #fbfcff;--surface: #ffffff;--surface-soft: #f8faff;--surface-muted: #f1f4fb;--border-subtle: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .14);--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;--block-surface-radius-sm: 12px;--block-surface-radius-md: 16px;--block-surface-radius-lg: 20px;--page-block-radius: var(--block-surface-radius-md);--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 16px 38px rgba(15, 23, 42, .08), 0 4px 16px rgba(15, 23, 42, .05);--shadow-card-subtle: 0 10px 24px rgba(15, 23, 42, .05), 0 2px 8px rgba(15, 23, 42, .03);--shadow-card-hover: 0 20px 44px rgba(15, 23, 42, .12), 0 8px 20px rgba(15, 23, 42, .08);--shadow-floating: 0 18px 40px rgba(15, 23, 42, .12), 0 6px 18px rgba(15, 23, 42, .08);--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,input,select,textarea{font-family:var(--font-sans)}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:var(--font-sans);font-size:16px;line-height:1.5;background:radial-gradient(circle at top left,#3d54c71a,#3d54c700 28%),radial-gradient(circle at top right,#4fb38f12,#4fb38f00 22%),linear-gradient(180deg,var(--background-elevated) 0%,var(--background) 100%);min-height:100vh;min-height:100dvh;color:var(--text-primary);overflow-x:hidden;letter-spacing:-.012em}body.body-scroll-locked{width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--text-primary)}p,li,label,input,select,textarea{line-height:1.45}a{color:var(--primary);text-underline-offset:.16em}a:hover{color:#3246aa}.skip-link{position:fixed;left:16px;top:16px;transform:translateY(-140%);z-index:1000000;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:var(--text-primary);border:1px solid var(--primary-border);box-shadow:var(--shadow-card-subtle);text-decoration:none;font-weight:700}.skip-link:focus-visible{transform:translateY(0)}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:12px;background:#fffffff0;box-shadow:inset 0 1px #ffffffb8;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;accent-color:var(--primary)}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):hover{border-color:var(--border-strong)}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}:where(input,textarea)::placeholder{color:#9298a6}:where(button,[href],input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:#3d54c72e;color:var(--text-primary)}::-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)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.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:linear-gradient(180deg,#fffffffa,#f8fafffa);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);border:1px solid var(--border-subtle);position:relative;padding:22px;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:26px}.auth-header h1{font-size:2rem;color:var(--primary);margin-bottom:8px;letter-spacing:-.04em}.auth-header p{color:#777;font-size:1.1em}.auth-tabs{display:flex;gap:10px;margin-bottom:22px;padding:5px;border:1px solid var(--border-subtle);background:#3d54c70d;border-radius:14px}.auth-tab{flex:1;padding:12px;text-align:center;border:1px solid transparent;background:transparent;border-radius:10px;cursor:pointer;font-weight:600;transition:all .22s;color:var(--text-secondary)}.auth-tab.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);color:#fff;box-shadow:var(--shadow-primary)}.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:1px solid var(--border-subtle);border-radius:12px;font-size:.9em;transition:all .3s;box-sizing:border-box;background:#fffffff0}.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:24px}header{min-height:80px;padding:20px 0;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:20px}header h1{font-size:1.45em}.global-month-bar{margin-top:18px}body.is-authenticated header{min-height:80px;padding:20px 0;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:20px}body.is-authenticated header h1{font-size:1.45em}body.is-authenticated .page-shell{margin-top:24px}}.page-shell{width:min(1080px,100%);margin:0 auto 32px}@media(min-width:1100px){.page-shell{width:min(1260px,100%);margin-bottom:40px}}.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}.main-content.main-content-public{min-height:100vh;min-height:100dvh}.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:radial-gradient(circle at top left,#ffffff2e,#fff0 34%),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 24px 24px;box-shadow:0 16px 34px #3d54c738;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:visible}@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.4em;font-weight:800;letter-spacing:-.04em;margin:0 0 2px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.16)}header p{font-size:.95em;color:#ffffffeb;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}.public-first-screen{width:min(1180px,100%);margin:26px auto 34px;--public-card-padding-lg: 20px;--public-card-padding-md: 16px;--public-card-radius-lg: var(--block-surface-radius-lg);--public-card-radius-md: var(--block-surface-radius-md);--public-card-gap: 12px}.public-first-screen__hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.96fr);gap:24px;align-items:stretch}.public-first-screen__left-col{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--public-card-gap);height:100%}.public-first-screen__copy,.public-info-card{border:1px solid var(--border-subtle);border-radius:var(--public-card-radius-lg);background:radial-gradient(circle at top right,#3d54c714,#3d54c700 30%),#fffffff0;box-shadow:var(--shadow-card)}.public-first-screen__copy{display:grid;align-content:start;gap:18px;padding:var(--public-card-padding-lg)}.public-first-screen__copy-main,.public-first-screen__copy-footer{display:grid;align-content:start}.public-first-screen__copy-main{gap:16px}.public-first-screen__copy-footer{gap:12px}.public-first-screen__eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#3d54c714;color:var(--primary);font-size:.82em;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.public-first-screen__copy h2{margin:0;font-size:clamp(2rem,4vw,3.35rem);line-height:1.04;letter-spacing:-.045em;color:#16213f;max-width:12ch}.public-first-screen__copy p{margin:0;max-width:54ch;color:#53607a;font-size:1.04rem;line-height:1.62}.public-first-screen__benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.public-first-screen__benefit{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:var(--public-card-padding-md);border-radius:var(--public-card-radius-md);border:1px solid rgba(61,84,199,.12);background:linear-gradient(180deg,#fffffff7,#f6f8fff5);box-shadow:0 10px 24px #1118370f}.public-first-screen__benefit:last-child{grid-column:1 / -1}.public-first-screen__benefit-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#3d54c717;color:var(--primary);font-size:1rem}.public-first-screen__benefit-copy{display:grid;gap:4px;min-width:0}.public-first-screen__benefit-copy strong{color:#1c2742;font-size:.96rem;font-weight:800;line-height:1.2}.public-first-screen__benefit-copy span{color:#5d6983;font-size:.92rem;line-height:1.5}.public-first-screen__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.public-cta-btn{width:100%;min-height:48px;padding-inline:18px;transition:transform .2s ease,box-shadow .2s ease}.public-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3d54c733}.public-first-screen__docs-card{display:grid;gap:var(--public-card-gap);padding:var(--public-card-padding-md);border-radius:var(--public-card-radius-md);background:#3d54c70f;border:1px solid rgba(61,84,199,.08)}.public-first-screen__docs-text{margin:0;color:#53607a;font-size:.95rem;line-height:1.6}.public-first-screen__docs-link{margin-top:0;width:fit-content}.public-first-screen__docs-card--compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.public-first-screen__docs-card--compact .public-first-screen__docs-text{font-size:.92rem;line-height:1.45}.public-first-screen__docs-card--compact .public-first-screen__docs-link{white-space:nowrap;margin-top:0}.public-cta-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.public-first-screen__panel{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:var(--public-card-gap);height:100%}.public-info-card{display:grid;gap:var(--public-card-gap);padding:var(--public-card-padding-lg)}.public-info-card--primary{background:radial-gradient(circle at top right,#4fb38f1a,#4fb38f00 34%),radial-gradient(circle at bottom left,rgba(61,84,199,.05) 0%,transparent 40%),#fffffffa;box-shadow:0 4px 24px #1118370f,0 1px #fffc}.public-info-card--muted{background:#f7f9fff0}.public-visual-card{grid-template-rows:auto 1fr auto;align-content:stretch;height:100%;overflow:hidden}.public-info-card__label{margin-bottom:0;color:#16213f;font-size:.9rem;font-weight:800;letter-spacing:-.02em}.public-info-card__text{margin:0;color:#5d6983;line-height:1.55}.public-info-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.public-info-list li{position:relative;padding-left:18px;color:#46516a}.public-info-list li:before{content:"";position:absolute;left:0;top:.68em;width:8px;height:8px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 0 0 4px #3d54c714}.public-visual-card__stage{position:relative;display:flex;justify-content:center;align-items:center;margin:6px 0 12px;padding:0}@keyframes public-iphone-float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(.5deg)}to{transform:translateY(0) rotate(0)}}.public-iphone-preview{position:relative;width:min(100%,304px);padding:12px;border-radius:40px;background:linear-gradient(165deg,#0d1220,#161e32,#1c2542 70%,#252d4a);box-shadow:0 0 0 2px #ffffff0f,0 2px 4px #0003,0 24px 48px #11183759,inset 0 1px #ffffff14;animation:public-iphone-float 7s ease-in-out infinite}.public-iphone-preview__dynamic-island{position:absolute;top:22px;left:50%;transform:translate(-50%);width:88px;height:24px;background:#000;border-radius:20px;z-index:10;display:flex;align-items:center;justify-content:flex-end;padding-right:7px;box-shadow:inset 0 0 2px #ffffff26}.public-iphone-preview__dynamic-island:after{content:"";width:9px;height:9px;border-radius:50%;background:#151515;box-shadow:inset -1px -1px 2px #ffffff26}.public-iphone-preview__screen{padding:16px 12px 12px;border-radius:28px;background:linear-gradient(180deg,#fafbfd,#f2f5fa,#eef2f7);box-shadow:inset 0 0 0 1px #3d54c70a}.public-iphone-preview__statusline{display:flex;align-items:center;justify-content:space-between;color:#313a53;font-size:.76rem;font-weight:700;padding-top:1px}.public-iphone-preview__status-icons{display:inline-flex;align-items:center;gap:7px}.public-iphone-preview__signal{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.public-iphone-preview__signal i{display:block;width:3px;border-radius:999px;background:#313a53}.public-iphone-preview__signal i:nth-child(1){height:4px;opacity:.55}.public-iphone-preview__signal i:nth-child(2){height:6px;opacity:.7}.public-iphone-preview__signal i:nth-child(3){height:9px;opacity:.85}.public-iphone-preview__signal i:nth-child(4){height:12px}.public-iphone-preview__wifi{display:inline-flex;align-items:center;font-size:.72rem}.public-iphone-preview__battery{position:relative;width:21px;height:11px;border:1.8px solid #313a53;border-radius:3px}.public-iphone-preview__battery:after{content:"";position:absolute;right:-3.8px;top:3px;width:2px;height:4px;border-radius:0 2px 2px 0;background:#313a53}.public-iphone-preview__battery-level{position:absolute;top:1px;left:1px;bottom:1px;width:41%;border-radius:2px;background:#313a53}.public-iphone-preview__tabs{display:flex;gap:8px;margin-top:9px}.public-iphone-preview__tab{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#ffffffe6;color:#4f5d7b;font-size:.73rem;font-weight:700;box-shadow:0 6px 16px #39476714;white-space:nowrap}.public-iphone-preview__tab--active{color:var(--primary);box-shadow:inset 0 0 0 1px #3d54c72e}.public-iphone-preview__period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.public-iphone-preview__period span{display:flex;align-items:center;justify-content:space-between;min-height:40px;border-radius:16px;background:#fffffff0;color:#475470;font-size:.84rem;font-weight:700;box-shadow:0 10px 18px #39476714;padding:0 14px}.public-iphone-preview__period span em{font-style:normal}.public-iphone-preview__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.public-iphone-preview__metric{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:start;column-gap:8px;padding:9px 9px 9px 12px;border-radius:16px;background:#fffffff5;box-shadow:0 10px 20px #39476717}.public-iphone-preview__metric:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:999px}.public-iphone-preview__metric strong{color:#6c7790;font-size:.68rem;font-weight:700;line-height:1.15}.public-iphone-preview__metric span{color:#1d2741;font-size:.8rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}.public-iphone-preview__metric small{color:#8a93a7;font-size:.58rem;font-weight:600;line-height:1.1}.public-iphone-preview__metric-icon{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:2px;font-size:.6rem;background:#3d54c714;color:#394d96}.public-iphone-preview__metric-copy{display:grid;gap:1px;min-width:0}.public-iphone-preview__metric--income:before{background:#21a56b}.public-iphone-preview__metric--expense:before{background:#e04b56}.public-iphone-preview__metric--balance:before{background:#4366df}.public-iphone-preview__metric--ops:before{background:#71788b}.public-iphone-preview__chart-card{margin-top:12px;padding:14px 12px 16px;border-radius:var(--block-surface-radius-lg);background:#fffffffa;box-shadow:0 14px 26px #3947671a}.public-iphone-preview__chart-title{color:#1f2944;font-size:.94rem;font-weight:800}.public-iphone-preview__chart-body{position:relative;margin-top:12px;padding-bottom:10px;min-height:194px}.public-iphone-preview__donut{position:relative;width:186px;height:186px;margin:0 auto;border-radius:50%;background:conic-gradient(#57b7d3 0,#57b7d3 110deg,#f5f7fb 110deg,#f5f7fb 116deg,#ff6b74 116deg,#ff6b74 194deg,#f5f7fb 194deg,#f5f7fb 200deg,#59c3be 200deg,#59c3be 267deg,#f5f7fb 267deg,#f5f7fb 273deg,#6e58e6 273deg,#6e58e6 322deg,#f5f7fb 322deg,#f5f7fb 328deg,#e861ef 328deg,#e861ef 350deg,#f5f7fb 350deg,#f5f7fb 354deg,#67b7ff 346deg,#67b7ff 360deg);transform:rotate(-22deg)}.public-iphone-preview__donut:after{content:"";position:absolute;top:30px;right:30px;bottom:30px;left:30px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #3d54c70f}.public-iphone-preview__donut-center{position:absolute;top:30px;right:30px;bottom:30px;left:30px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(22deg);text-align:center}.public-iphone-preview__donut-center strong{color:#202b47;font-size:1.08rem;font-weight:800}.public-iphone-preview__donut-center span{color:#6f7890;font-size:.72rem;font-weight:600}.public-iphone-preview__fab{position:absolute;right:4px;bottom:10px;width:48px;height:48px;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#5268e8,#3d54c7,#3549a8);color:#fff;box-shadow:0 0 0 1px #ffffff26,0 4px 12px #3d54c740,0 12px 28px #3d54c759;font-size:1rem;transition:transform .2s ease,box-shadow .2s ease}.public-iphone-preview__fab:hover{transform:scale(1.05);box-shadow:0 6px 20px #3d54c766,0 14px 32px #3d54c74d}.public-iphone-preview__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(90,100,124,.12)}.public-iphone-preview__nav-item{display:grid;justify-items:center;gap:4px;color:#7f8798;font-size:.65rem}.public-iphone-preview__nav-item i{font-size:.84rem}.public-iphone-preview__nav-item b{font-weight:700}.public-iphone-preview__nav-item--active{color:var(--primary)}.public-visual-card__float{position:absolute;display:grid;gap:2px;min-width:110px;padding:11px 13px;border-radius:var(--page-block-radius);background:#fffffff0;border:1px solid rgba(61,84,199,.1);box-shadow:var(--shadow-card-subtle)}.public-visual-card__float strong{font-size:.74rem;color:#5f6b84}.public-visual-card__float span{font-size:.88rem;font-weight:800;color:#1f2950}.public-visual-card__float--left{left:6px;bottom:34px}.public-visual-card__float--right{right:6px;top:42px}.public-flow-strip span{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:#ffffff1a;color:#ffffffeb;font-size:.72rem;font-weight:600}.public-flow-strip{display:flex;flex-wrap:wrap;gap:8px}.public-flow-strip span{background:#3d54c70f;color:#314361}.public-secondary-section{margin-top:18px}.public-apps-card{gap:var(--public-card-gap)}.store-placeholder-grid--compact{margin-top:0}.store-placeholder-grid--compact .store-placeholder-btn{min-height:92px;padding:12px;border-radius:var(--public-card-radius-md)}.store-placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--public-card-gap);margin-top:14px}.store-placeholder-btn{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:110px;padding:var(--public-card-padding-md);border:1px solid rgba(61,84,199,.14);border-radius:var(--public-card-radius-md);background:linear-gradient(180deg,#fff,#f6f8ff);color:#24324d;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.store-placeholder-btn:hover{transform:translateY(-2px);border-color:#3d54c73d;box-shadow:var(--shadow-card-subtle)}.store-placeholder-btn i{font-size:1.32rem;color:var(--primary)}.store-placeholder-btn span{font-size:.95rem;font-weight:700}.store-placeholder-btn small{color:#6f7c95;font-size:.8rem}.public-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--primary);font-weight:700;text-decoration:none}.public-inline-link:hover{color:#2f45b3}.user-badge{background:#ffffff2e;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,.24);display:flex;align-items:center;gap:8px;box-shadow:0 10px 22px #11182724;color:#fff;overflow:visible}.logout-btn{background:#fffffff5;color:var(--primary);padding:8px 16px;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s;font-weight:650;font-size:.92em;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 22px #1118271f}.logout-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px #11182729}.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}@media(min-width:769px){.global-month-bar{position:static;top:10px;z-index:9300;margin-bottom:26px}.month-band{min-height:56px}.main-area{padding:28px 30px}footer.site-footer{margin-top:36px;padding:24px 28px}}.month-band{display:flex;align-items:center;gap:2px;padding:4px;background:#ffffffc7;border:0;border-radius:999px;box-shadow:none;flex-shrink:0;position:relative;overflow:visible;z-index:9301;transition:box-shadow .2s ease,border-color .2s ease}.month-band:hover{box-shadow:none;border-color:transparent}.period-nav-btn{width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background-color .18s ease,color .18s ease,transform .18s ease}.period-nav-btn:hover{background:var(--primary-bg-subtle);color:var(--primary-soft)}.period-nav-btn:active{transform:scale(.95)}.period-nav-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.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:0}.period-select-trigger{width:100%;border:none;background:transparent;color:var(--text-primary);font-weight:650;font-family:inherit;font-size:.95em;padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:999px;transition:background-color .2s,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)}@media(min-width:1100px){.global-month-bar{justify-content:center;gap:18px;margin-bottom:22px}.month-band{min-height:52px}.period-select-trigger{min-height:50px;padding:12px 16px}}.period-select-dropdown,.tx-cal-picker-dropdown{position:absolute;top:calc(100% + 8px);left:50%;background:#fffffff7;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-floating);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:var(--text-primary);border-radius:10px;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:var(--surface-soft)}.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 var(--border-subtle);border-radius:10px;color:var(--text-primary);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 var(--border-subtle);border-radius:10px;height:34px;padding:0 10px;color:#333;background:var(--surface-soft);font-weight:650;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}@media(min-width:1100px){.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}}.content{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:30px;margin-bottom:40px}.main-area{background:linear-gradient(180deg,#fffffffa,#f8fafffa);border-radius:var(--page-block-radius);padding:24px;box-shadow:var(--shadow-card-subtle);transition:box-shadow .2s ease;border:1px solid var(--border-subtle)}.main-area:hover{box-shadow:var(--shadow-card-hover)}footer.site-footer{background:#ffffffd6;border-top:1px solid var(--border-subtle);padding:16px 18px;color:var(--text-secondary);margin-top:32px;border-radius:var(--page-block-radius);box-shadow:0 8px 22px #1118370f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;gap:10px}.site-footer__row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}.site-footer__brand{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.site-footer__brand strong{color:var(--text-primary);font-size:.96rem;font-weight:800;line-height:1.2}.site-footer__dot{color:#a3aec2;font-size:.82rem}.site-footer__meta-label{color:#7d89a2;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.site-footer__version{color:#4f5d7b;font-size:.92rem;font-weight:700;font-variant-numeric:tabular-nums}.site-footer__links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px}.site-footer__link{border:none;background:none;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;padding:0;text-decoration:none;opacity:.88;transition:opacity .18s ease,color .18s ease}.site-footer__link:hover{opacity:1;color:#3148bb}.site-footer__bottom{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 12px;padding-top:10px;border-top:1px solid rgba(61,84,199,.1);color:#6b7690;font-size:.84rem}@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 .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.site-footer{padding:14px;margin-top:20px;gap:10px}.site-footer__row{flex-direction:column;align-items:start;gap:12px}.site-footer__links{width:100%;justify-content:space-between;gap:10px 16px}.site-footer__brand{gap:6px}.site-footer__bottom{flex-direction:column;align-items:flex-start;gap:4px;padding-top:10px}}@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.site-footer{padding:12px;margin-top:16px}.site-footer__brand,.site-footer__links,.site-footer__bottom{width:100%}.site-footer__links{flex-direction:column;align-items:flex-start;gap:8px}}.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)}.auth-status-banner{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:14px 0 20px;padding:14px 16px;border-radius:var(--page-block-radius);border:1px solid rgba(70,82,120,.14);background:#f8fafffa;color:var(--text);box-shadow:0 14px 30px #1c264214}.auth-status-banner[hidden]{display:none}.auth-status-banner__icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:#6373e71f;color:#4a5dd4}.auth-status-banner__copy{display:flex;flex-direction:column;gap:3px;min-width:0}.auth-status-banner__title{font-size:14px;font-weight:700}.auth-status-banner__message{font-size:14px;line-height:1.45;color:var(--muted)}.auth-status-banner__actions{display:inline-flex;align-items:center;gap:8px}.auth-status-banner__action,.auth-status-banner__close{border:1px solid rgba(70,82,120,.14);background:#fff;color:var(--text);border-radius:12px;min-height:44px;padding:0 14px;font-weight:600;cursor:pointer}.auth-status-banner__close{width:44px;min-width:44px;padding:0}.auth-status-banner--warning{background:#fff9ecfa;border-color:#b0750e2e}.auth-status-banner--warning .auth-status-banner__icon{background:#b0750e1f;color:#a05f00}.auth-status-banner--error{background:#fff4f4fa;border-color:#ba3e3e29}.auth-status-banner--error .auth-status-banner__icon{background:#ba3e3e1f;color:#b03d3d}@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}}@media(max-width:768px){.auth-status-banner{grid-template-columns:1fr;gap:12px;padding:14px;border-radius:16px}.auth-status-banner__actions{width:100%;justify-content:space-between}.auth-status-banner__action{flex:1 1 auto}.public-first-screen{margin-top:16px;margin-bottom:24px;--public-card-padding-lg: 18px;--public-card-padding-md: 14px;--public-card-radius-lg: var(--block-surface-radius-lg);--public-card-radius-md: var(--block-surface-radius-md);--public-card-gap: 10px}.public-first-screen__hero{grid-template-columns:1fr;gap:14px}.public-first-screen__copy,.public-info-card{border-radius:var(--public-card-radius-lg)}.public-first-screen__copy{gap:18px;padding:var(--public-card-padding-lg)}.public-first-screen__copy-main,.public-first-screen__copy-footer{gap:12px}.public-first-screen__copy h2{max-width:none;font-size:clamp(1.65rem,8.2vw,2.25rem);line-height:1.04}.public-first-screen__copy p{font-size:.96rem;line-height:1.56}.public-first-screen__benefits{grid-template-columns:1fr;gap:9px}.public-first-screen__benefit,.public-first-screen__benefit:last-child{grid-column:auto;padding:var(--public-card-padding-md)}.public-first-screen__benefit-icon{width:38px;height:38px;border-radius:12px}.public-first-screen__benefit-copy strong{font-size:.93rem}.public-first-screen__benefit-copy span{font-size:.88rem}.public-first-screen__actions{grid-template-columns:1fr;gap:10px}.public-cta-btn{width:100%;justify-content:center}.public-first-screen__docs-card{gap:8px;padding:var(--public-card-padding-md)}.public-first-screen__docs-card--compact{grid-template-columns:1fr;align-items:start;gap:8px}.public-first-screen__docs-text{font-size:.9rem;line-height:1.55}.public-first-screen__docs-link{width:fit-content}.store-placeholder-grid{grid-template-columns:1fr}.public-secondary-section{margin-top:14px}.public-first-screen__panel{gap:12px;overflow:hidden}.public-visual-card__float{display:none}.public-visual-card__stage{margin:6px 0 12px;padding:0;overflow:hidden}.public-iphone-preview{width:min(100%,258px);padding:9px;border-radius:32px;animation:none;transform:translateY(0)}.public-iphone-preview__dynamic-island{top:17px;width:74px;height:21px}.public-iphone-preview__dynamic-island:after{width:8px;height:8px}.public-iphone-preview__screen{padding:14px 10px 10px;border-radius:22px}.public-iphone-preview__statusline{font-size:.72rem;padding-top:0}.public-iphone-preview__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;overflow:visible}.public-iphone-preview__tab{min-width:0;justify-content:center;padding:6px 7px;font-size:.6rem;gap:4px}.public-iphone-preview__period{gap:8px;margin-top:12px}.public-iphone-preview__period span{min-height:36px;padding:0 12px;border-radius:13px;font-size:.72rem}.public-iphone-preview__metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.public-iphone-preview__metric{column-gap:7px;padding:8px 7px 8px 10px;border-radius:15px}.public-iphone-preview__metric strong{font-size:.56rem}.public-iphone-preview__metric span{font-size:.72rem}.public-iphone-preview__metric small{font-size:.44rem}.public-iphone-preview__metric-icon{width:20px;height:20px;margin-bottom:3px;font-size:.62rem}.public-iphone-preview__chart-card{margin-top:9px;padding:11px 10px 46px;border-radius:16px}.public-iphone-preview__chart-title{font-size:.8rem}.public-iphone-preview__chart-body{padding-top:8px;min-height:170px}.public-iphone-preview__donut{width:138px;height:138px}.public-iphone-preview__donut:after{top:27px;right:27px;bottom:27px;left:27px}.public-iphone-preview__donut-center strong{font-size:.9rem}.public-iphone-preview__donut-center span{font-size:.56rem}.public-iphone-preview__fab{width:38px;height:38px;bottom:-3px;right:0;font-size:.82rem}.public-iphone-preview__nav{margin-top:10px;padding:7px 4px 0;gap:2px}.public-iphone-preview__nav-item{gap:3px}.public-iphone-preview__nav-item i{font-size:.8rem}.public-iphone-preview__nav-item b{font-size:.5rem}}.stat-card-compact{background:var(--surface);padding:12px;border-radius:var(--page-block-radius);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,.chart-card .chart-card-title{margin:0;color:var(--text-primary);font-size:1.15em;font-weight:600;display:flex;align-items:center;gap:8px}.collapsible-header-inner{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.chart-details-block h3{color:var(--dark);text-align:center}.chart-details-list{flex:1;overflow-y:auto;max-height:300px}.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-container--flex{flex:1;min-width:300px}.chart-card .chart-container:hover{box-shadow:none}#categoryChartContainer{height:340px;min-width:auto!important;position:relative;overflow:visible;border-radius:var(--page-block-radius);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:var(--page-block-radius)}.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}@media(min-width:1100px){.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.stat-card-compact{padding:18px 18px 16px;min-height:92px;grid-template-columns:36px 1fr;column-gap:14px}.stat-icon-compact{width:36px;font-size:24px}.stat-label-compact{font-size:.84rem;font-weight:500}.stat-value-compact{font-size:1.5rem;font-weight:700}.main-area{padding:30px 32px 28px}.chart-card{margin-bottom:18px;overflow:hidden}.chart-card h2{font-size:1.22rem;letter-spacing:-.03em}.chart-pie-details-row{gap:20px;align-items:stretch}.chart-details-block{padding:14px 16px;border:1px solid var(--border-subtle);border-radius:16px;background:#ffffffb8}#categoryChartContainer{height:360px}.analytics-teaser-card{padding:18px 20px;min-height:84px}}.analytics-teaser-card{text-decoration:none;color:inherit;cursor:pointer;transition:box-shadow .18s,transform .18s;padding:0;min-height:72px;display:flex;align-items:center;box-sizing:border-box}.analytics-teaser-inner{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;min-width:0}.analytics-teaser-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.analytics-teaser-desc{font-size:.85em;color:#888;font-weight:500}.analytics-teaser-arrow{color:#bbb;font-size:.9em;flex-shrink:0}@media(max-width:480px){.analytics-teaser-card{padding:0;min-height:64px}.analytics-teaser-inner{padding:10px 12px}.analytics-teaser-card .chart-card-title{font-size:1rem;flex-wrap:wrap;gap:4px}.analytics-teaser-card .chart-card-title .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-teaser-card--locked{border-style:dashed;border-color:#3d54c738;background:linear-gradient(180deg,#fafbfffa,#f5f7fdfa)}.analytics-teaser-card--locked:hover{box-shadow:0 6px 20px #3d54c71a}.analytics-teaser-card--locked .analytics-teaser-desc{color:#66708a}.analytics-teaser-card--locked .analytics-teaser-arrow{color:var(--primary)}.analytics-gate-back{display:flex;justify-content:center;margin-top:14px}.analytics-period-label{font-weight:400;color:#aaa;font-size:.92em;margin-left:2px}.analytics-modal-card{background:#fffffff0;border-radius:var(--page-block-radius);border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-card-subtle);padding:18px 20px}.analytics-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.analytics-section-header--split{align-items:flex-start;justify-content:space-between}.analytics-section-title-group{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.25}.analytics-section-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--primary);background:#3d54c71f;flex-shrink:0}.analytics-section-icon--muted{color:#6b7280;background:#94a3b829}.analytics-chart-wrap{height:196px;position:relative}.analytics-chart-wrap--hero{margin-top:4px}.analytics-empty{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.5}.analytics-empty-card{display:grid;gap:10px}.analytics-empty-card__title{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:1rem;font-weight:700}.analytics-empty-card p{margin:0;color:var(--text-secondary);line-height:1.55}.analytics-loading-card{display:grid;gap:12px}.analytics-loading-line,.analytics-loading-chart{border-radius:12px;background:linear-gradient(90deg,#e2e8f0e6,#f1f5f9f5,#e2e8f0e6);background-size:200% 100%;animation:analyticsSkeletonPulse 1.2s ease-in-out infinite}.analytics-loading-line{height:14px}.analytics-loading-line--title{width:44%;height:18px}.analytics-loading-line--pill{width:28%;height:32px;justify-self:end}.analytics-loading-chart{height:172px}.analytics-loading-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@keyframes analyticsSkeletonPulse{0%{background-position:100% 0}to{background-position:0 0}}.analytics-value-pill{display:grid;gap:2px;justify-items:end;padding:8px 10px;border-radius:12px;border:1px solid rgba(61,84,199,.16);background:#f8fafff5}.analytics-value-pill--success{color:var(--success);border-color:#16a34a2e;background:#f0fdf4f0}.analytics-value-pill--danger{color:var(--danger);border-color:#dc26262e;background:#fef2f2f0}.analytics-value-pill__label{color:var(--text-secondary);font-size:.72rem;font-weight:600}.analytics-value-pill__value{font-size:.84rem;line-height:1.2}.analytics-trend-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.analytics-trend-nav{width:32px;height:32px;border:0;border-radius:10px;background:#f1f5f9eb;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.analytics-trend-nav:hover:not(:disabled){background:#e2e8f0f5;transform:translateY(-1px)}.analytics-trend-nav:disabled{color:#a8b0c1;cursor:default}.analytics-trend-picker{position:relative;flex:1;min-width:0}.analytics-trend-picker__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.95rem}.analytics-trend-picker__chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--primary);font-size:.75rem}.analytics-trend-select{width:100%;min-height:44px;padding:10px 38px 10px 34px;border-radius:14px;border:1px solid rgba(61,84,199,.16);background:#f8fafffa;color:var(--text-primary);font-size:.95rem;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.analytics-trend-insight{padding:12px;border-radius:16px;border:1px solid rgba(61,84,199,.1);background:linear-gradient(180deg,#f8fafff5,#fffffffa)}.analytics-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.analytics-metric-card{display:grid;gap:4px;padding:10px;border-radius:14px;border:1px solid rgba(148,163,184,.18);background:#ffffffeb}.analytics-metric-card--success{border-color:#16a34a29}.analytics-metric-card--danger{border-color:#dc262629}.analytics-metric-card__title{color:var(--text-secondary);font-size:.72rem;font-weight:600}.analytics-metric-card__value{color:var(--text-primary);font-size:.95rem;font-weight:700;line-height:1.3}.analytics-gate{text-align:center}.analytics-gate--ios{max-width:320px;margin:0 auto;padding:34px 18px}.analytics-gate-orb{width:88px;height:88px;margin:0 auto 18px;border-radius:999px;display:grid;place-items:center;color:var(--primary);font-size:2rem;background:linear-gradient(180deg,#3d54c71a,#3d54c72e)}.analytics-gate h2{margin:0 0 10px;color:var(--text-primary);font-size:1.22rem;font-weight:800}.analytics-gate p{margin:0;color:var(--text-secondary);line-height:1.55}.analytics-gate-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px}.analytics-plus-modal{background:#0d1220b8}.analytics-plus-modal .analytics-plus-modal-content{width:min(860px,calc(100vw - 32px));max-width:860px;max-height:min(92vh,920px);padding:0;border-radius:var(--block-surface-radius-lg, 20px);overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff,#f7f8ff)}.analytics-plus-modal .analytics-plus-modal-header{position:sticky;top:0;z-index:2;margin:0;padding:20px 24px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffffe6;border-bottom:1px solid rgba(98,114,235,.12)}.analytics-plus-modal-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:clamp(1.2rem,2vw,1.55rem)}.analytics-plus-modal-period{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 24px 0;padding:0;border:0;background:transparent;color:#2f3640;font-weight:700}.analytics-plus-modal-period-picker{z-index:3}.analytics-plus-modal-body{overflow-y:auto;padding:18px 24px 24px}.analytics-stack{display:grid;gap:16px}.analytics-plus-modal .analytics-modal-card--hero{margin-bottom:0}.analytics-plus-modal .analytics-modal-card--gate{padding:0}.analytics-plus-modal.analytics-plus-modal--gated .analytics-plus-modal-content{width:min(560px,calc(100vw - 32px));max-width:560px}.analytics-plus-modal.analytics-plus-modal--gated .analytics-plus-modal-body{min-height:min(48vh,460px);padding:28px 24px 36px;display:flex;align-items:center;justify-content:center}@media(max-width:600px){.analytics-plus-modal{align-items:flex-end}.analytics-plus-modal .analytics-plus-modal-content{width:100%;max-width:none;max-height:96dvh;border-radius:20px 20px 0 0}.analytics-plus-modal .analytics-plus-modal-header{padding:18px 16px 14px}.analytics-plus-modal-period{gap:2px;margin:0 16px;padding-top:10px}.analytics-plus-modal-period .period-nav-btn{width:36px;height:36px}.analytics-plus-modal-period-picker{flex:1 1 auto;min-width:0}.analytics-plus-modal-body{padding:14px 16px 18px}.analytics-modal-card{padding:14px}.analytics-chart-wrap{height:176px}.analytics-metric-grid{grid-template-columns:1fr}.analytics-section-header--split{flex-direction:column;align-items:stretch}.analytics-value-pill{justify-items:start}.analytics-trend-toolbar{gap:8px}.analytics-trend-select{min-height:42px;font-size:.9rem}.analytics-plus-modal.analytics-plus-modal--gated .analytics-plus-modal-content{width:100%;max-width:none}.analytics-plus-modal.analytics-plus-modal--gated .analytics-plus-modal-body{min-height:auto;padding:18px 16px 24px}.analytics-gate--ios{padding:28px 14px}}#dashboardHomeShell #categoryChartSection{padding:14px 16px 16px}#dashboardHomeShell .chart-pie-details-row{align-items:stretch;gap:18px}#dashboardHomeShell .chart-details-block{padding:14px 16px;border:1px solid var(--border-subtle);border-radius:16px;background:#ffffffb8;box-shadow:0 2px 10px #1118370a}#dashboardHomeShell .chart-details-block h3{margin:0 0 12px}@media(max-width:768px){#dashboardHomeShell .stats-row{gap:8px;margin-bottom:12px}#dashboardHomeShell .main-area{padding:0;background:transparent;border:none;box-shadow:none}#dashboardHomeShell .chart-card{margin-bottom:8px;border-radius:14px;overflow:hidden}#dashboardHomeShell .chart-card>.collapsible-header{min-height:48px;padding:11px 12px}#dashboardHomeShell #categoryChartSection{padding:10px 12px 12px}#dashboardHomeShell #categoryChartContainer{height:248px;padding:8px;border-radius:14px}#dashboardHomeShell .analytics-teaser-inner{padding:10px 12px}#dashboardHomeShell .chart-details-block{background:#fff;box-shadow:none}#dashboardHomeShell .chart-details-block{padding:10px 12px;border-radius:12px}}@media(max-width:480px){#dashboardHomeShell .stat-card-compact{padding:9px 8px;column-gap:7px;min-height:60px;border-radius:12px}#dashboardHomeShell .stat-icon-compact{width:22px;font-size:16px}#dashboardHomeShell .stat-label-compact{font-size:10.5px;margin-bottom:0}#dashboardHomeShell .stat-value-compact{font-size:15px}#dashboardHomeShell #categoryChartContainer{height:228px;padding:6px}}.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%}@media(min-width:1100px){.transactions-filters{gap:18px;padding:18px;border:1px solid var(--border-subtle);border-radius:var(--page-block-radius);background:linear-gradient(180deg,#f8fafffa,#fffffffa);box-shadow:inset 0 1px #ffffffb3}.tx-filters-inputs{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(240px,1.2fr) auto;gap:10px;align-items:end}.date-range-inputs{flex:none;width:auto;margin-top:0}}.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){.transactions-page{--btn-height: 38px;--btn-padding-x: 10px;--tx-mobile-control-font-size: .74em}.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:var(--tx-mobile-control-font-size);font-weight:600;background:#fff;border:1px solid #e0e0e6;border-radius:var(--radius-sm)}.transactions-page .tx-filter-category,.transactions-page .tx-search{height:36px;min-height:36px;padding-inline:12px;font-size:.8rem;line-height:1.1}.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:var(--tx-mobile-control-font-size);font-weight:600}.app-date-input-btn{height:var(--btn-height);padding:0 var(--btn-padding-x);font-size:var(--tx-mobile-control-font-size)}.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:var(--tx-mobile-control-font-size);height:var(--btn-height);min-width:0}.transactions-page .tx-filters-toggle-btn,.transactions-page .tx-mode-btn,.transactions-page .tx-bottom-bar .tx-sort-btn{font-size:var(--tx-mobile-control-font-size)}.global-month-bar{flex-wrap:wrap;justify-content:center}.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:.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:.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:.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:.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:.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:var(--tx-mobile-control-font-size)}.tx-day-select{height:var(--btn-height);padding:0;font-size:var(--tx-mobile-control-font-size);line-height:var(--btn-height);text-align:center;text-align-last:center}.tx-day-select-icon{display:inline-flex;font-size:var(--tx-mobile-control-font-size)}.tx-day-select-label{font-size:var(--tx-mobile-control-font-size)}#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:var(--tx-mobile-control-font-size)}}.transactions-table{width:100%;border-collapse:collapse;font-size:1.05em}.transactions-table thead{background:#f8f9fa}.transactions-table thead th{position:sticky;top:0;z-index:1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.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:.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;display:flex;justify-content:flex-end;gap:6px}.transactions-table .tx-cell-actions .tx-delete-btn{opacity:.82;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease}.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)}.transactions-table tbody tr:hover .tx-cell-actions .tx-delete-btn{opacity:1;transform:translateY(-1px)}.tx-table-wrapper{width:100%;overflow-y:visible;overflow-x:hidden;overflow-x:clip}@media(max-width:860px){.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;padding-right:96px!important}.transactions-table.tx-mobile-unified tbody td:nth-child(4) .tx-cat-cell{width:100%;max-width:100%;overflow:hidden}.transactions-table.tx-mobile-unified tbody td:nth-child(4) .tx-cat-main{display:flex;flex:1 1 auto;max-width:100%;min-width:0;overflow:hidden}.transactions-table.tx-mobile-unified tbody td:nth-child(4) .cat-item-name{flex:1 1 auto;font-size:1em;font-weight:650;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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;flex-shrink:0;white-space:nowrap}.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;white-space:nowrap;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;min-width:0;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;flex:1 1 auto;font-size:1em;font-weight:600;color:var(--dark);max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-delete-btn{background:none;border:none;color:#ccc;cursor:pointer;font-size:.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}@media(min-width:1100px){.transactions-empty{padding:54px 28px;border-radius:var(--page-block-radius);border:1px dashed rgba(61,84,199,.18);background:linear-gradient(180deg,#f9faffe6,#ffffffe6)}}.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-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.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-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.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:.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.45em}@media(min-width:1100px){.transactions-section{padding:28px 30px 24px;margin-bottom:32px}.transactions-header{align-items:flex-start}.transactions-filters{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:14px 0;margin-top:18px}.tx-filters-inputs{display:grid;grid-template-columns:minmax(180px,220px) minmax(260px,1fr) minmax(150px,1fr) minmax(150px,1fr);gap:12px;align-items:center}.date-range-inputs{display:contents}.tx-date-from,.tx-date-to{min-width:0}.tx-filter-category,.tx-search,.tx-date-from,.tx-date-to,.app-date-input-btn,.tx-sort-btn,.tx-category-btn,.tx-day-btn,.tx-cal-picker-trigger{min-height:46px;height:46px;border-radius:12px;font-size:.92rem}.tx-sort-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tx-sort-group .tx-sort-btn{min-width:0}.tx-day-quickbar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px;width:100%}.tx-table-wrapper{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--page-block-radius);background:#fffffff0;box-shadow:var(--shadow-card-subtle)}.transactions-table{font-size:.98rem}.transactions-table thead{background:linear-gradient(180deg,#f8fafffa,#f2f5fcfa)}.transactions-table th{padding:14px;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:#70798d;border-bottom:1px solid var(--border-subtle)}.transactions-table td{padding:12px 14px}.transactions-table tbody tr{border-bottom:1px solid rgba(15,23,42,.06)}.transactions-table tbody tr:last-child{border-bottom:none}.transactions-table tbody tr:hover{background:#3d54c70d;box-shadow:inset 4px 0 0 var(--primary)}.tx-bottom-bar{margin-top:18px;padding-top:18px;border-top:1px solid var(--border-subtle)}.transactions-empty{padding:56px 24px}}.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}.btn,.btn-secondary,.btn-danger,.submit-btn{min-height:var(--btn-height);border-radius:12px;font-size:.95rem;font-weight:650;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.btn{width:auto;padding:10px 16px;background:linear-gradient(180deg,#fffffffa,#f6f8fdfa);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;box-shadow:0 1px 2px #0f172a0a}.btn:hover{background:var(--surface-soft);border-color:var(--primary-border);box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.btn-secondary{width:auto;padding:10px 16px;background:linear-gradient(180deg,#fffffff5,#f4f6fcfa);color:var(--btn-color);border:1px solid var(--border-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 1px 2px #0f172a0a}.btn-secondary:hover{background:var(--surface-soft);border-color:var(--primary-border);box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.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:#fffffff0;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-floating);z-index:9000;min-width:200px;margin-top:8px;--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;width:100%;border:none;background:transparent;text-align:left;font-family:inherit}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item:focus-visible{outline:none;background-color:#f2f4ff;box-shadow:inset 0 0 0 2px var(--primary-border)}.dropdown-item-danger{color:var(--danger)}.dropdown-item-danger:hover{background-color:#fff5f5}.dropdown-item i{min-width:16px}#userProfileDropdown{min-width:min(280px,calc(100vw - 24px));padding:6px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;right:0;left:auto;margin-top:0}#userProfileDropdown .dropdown-item{min-height:40px;padding:9px 12px;line-height:1.25;border-radius:12px}#userProfileDropdown .dropdown-divider{margin:5px 2px;background-color:#d6dceceb}#userProfileDropdown .friends-badge,#userProfileDropdown .plus-menu-badge{flex-shrink:0;align-self:center}#userProfileDropdown .plus-menu-badge{line-height:1.1}.user-profile-copy{display:inline-flex;align-items:center;gap:8px;min-width:0}#userName{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-status-indicator{display:inline-flex;align-items:center;justify-content:center;color:var(--primary);font-size:.84rem;font-weight:700;line-height:1}.btn-danger{flex:1;padding:10px 16px;background:linear-gradient(180deg,#d94b4b 0%,var(--danger) 100%);color:#fff;border:1px solid rgba(184,33,33,.25);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #b8212133}.btn-danger:hover{background:linear-gradient(180deg,#e25555,#a91d1d);transform:translateY(-1px);box-shadow:0 14px 26px #b821213d}.btn-danger:disabled{background:#ccc;cursor:not-allowed;transform:none}.dropdown-divider{height:1px;background-color:#eee;margin:5px 0}@media(max-width:768px){#userProfileDropdown .dropdown-item{min-height:40px;padding:8px 12px}#userProfileDropdown .dropdown-divider{margin:4px 2px}#userName{max-width:112px}}.page-card{background:linear-gradient(180deg,#fffffffa,#f8fafffa);border-radius:var(--page-block-radius);border:1px solid var(--border-subtle);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-hover)}.empty-state,.empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:84px;padding:18px 16px;color:var(--text-secondary);font-weight:500;text-align:center;border:1px dashed rgba(61,84,199,.18);border-radius:var(--block-surface-radius-sm);background:#ffffffa8}.empty-state i,.empty i{font-size:1.05rem;color:var(--primary);opacity:.9}.status-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:92px;padding:18px 16px;border-radius:var(--block-surface-radius-md);border:1px solid var(--border-subtle);background:linear-gradient(180deg,#fffffff7,#f7f9fffa);color:var(--text-secondary);font-weight:600;text-align:center}.status-state i{font-size:1.05rem}.status-state--loading i{color:var(--primary)}.status-state--error{border-color:#b821212e;background:linear-gradient(180deg,#fffafafa,#fff3f3fa);color:var(--danger)}.status-state--warning{border-color:#ebb34f3d;background:linear-gradient(180deg,#fffcf5fa,#fff8e6fa);color:#a06a00}.status-state--success{border-color:#176b3d2e;background:linear-gradient(180deg,#f7fffafa,#eefcf4fa);color:var(--success)}.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}.plus-modal-body{padding:6px 0 2px}.plus-value-proposition{font-size:.92em;color:var(--text-secondary);margin-bottom:14px;line-height:1.45}.plus-status-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.plus-badge{border-radius:999px;padding:6px 10px;font-size:.85em;border:1px solid transparent}.plus-badge--plus{background:#6272eb1f;color:var(--primary);border-color:#6272eb47}.plus-badge--success{background:#2ecc711f;color:#1f8f53;border-color:#2ecc7147}.plus-badge--neutral{background:#f6f6f6;color:#666;border-color:#e6e6e6}.plus-badge--warning{background:#fff8e8;color:#9b6b00;border-color:#9b6b0038}.plus-section{border:1px solid rgba(98,114,235,.18);border-radius:12px;padding:12px;margin-bottom:14px}.plus-section--tint{background:#6272eb0a}.plus-section-title{font-weight:700;color:#2f3640;margin-bottom:10px;display:flex;align-items:center;gap:6px}.plus-section-title i{color:var(--primary)}.plus-section-title--sm{margin-bottom:8px}.plus-plan-options{display:grid;gap:6px;margin-bottom:10px}.plus-plan-option{display:flex;align-items:center;gap:10px;font-size:.86em;padding:10px 12px;border:2px solid #eceffd;border-radius:var(--block-surface-radius-sm);background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.plus-plan-option:hover{border-color:#6272eb59;background:#6272eb08}.plus-plan-option:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3d54c733}.plus-plan-option--selected{border-color:var(--primary);background:#6272eb0f}.plus-plan-radio{width:16px;height:16px;border-radius:50%;border:2px solid #b0b8f0;background:transparent;flex-shrink:0;transition:border-color .15s ease,background .15s ease}.plus-plan-option--selected .plus-plan-radio{border-color:var(--primary);background:var(--primary)}.plus-plan-option-label{flex:1;min-width:0}.plus-plan-option-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plus-plan-option-name{display:block;font-weight:600;color:#2f3640}.plus-plan-chip{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:#1f8f531f;color:#1f8f53;font-size:.76em;font-weight:700}.plus-plan-option-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.plus-plan-meta-pill{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:#6272eb17;color:#5562b8;font-size:.76em;font-weight:600}.plus-plan-option-desc{display:block;color:#7a849d;font-size:.84em;margin-top:2px}.plus-plan-option-price{white-space:nowrap;font-weight:700}.plus-plan-discount{color:#1f8f53;font-weight:600;font-size:.82em}.plus-plan-unavailable{font-size:.84em;line-height:1.45;color:#7a849d;margin-bottom:10px}.plus-cta-btn{width:100%}.plus-payment-history{margin-bottom:14px}.plus-payment-history .plus-section-title{margin-bottom:10px}.plus-payment-list{display:grid;gap:8px}.plus-payment-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #eceffd;border-radius:var(--block-surface-radius-sm);background:#fafbff}.plus-payment-item--resumable{border-color:#6272eb47;background:#6272eb0d;cursor:pointer}.plus-payment-item--resumable:hover{background:#6272eb14}.plus-payment-item-body{min-width:0}.plus-payment-item-title{font-weight:600;color:#2f3640}.plus-payment-item-meta{font-size:.82em;color:#7a849d;margin-top:2px}.plus-payment-item-resume-hint{font-size:.76em;color:var(--primary);margin-top:4px}.plus-payment-status{flex-shrink:0;font-size:.82em;font-weight:600}.plus-payment-status--succeeded{color:#1f8f53}.plus-payment-status--pending{color:#9b6b00}.plus-payment-status--expired{color:#8b5e00}.plus-payment-status--other{color:#7a849d}.plus-features-block{margin-bottom:14px}.plus-features-block .plus-section-title{margin-bottom:12px;font-size:.95em}.plus-feature-groups{display:grid;gap:12px}.plus-feature-group{padding:10px 12px;border:1px solid rgba(98,114,235,.12);border-radius:var(--block-surface-radius-sm);background:#ffffffb8}.plus-feature-group-title{font-size:.92em;font-weight:700;color:#2f3640;margin-bottom:4px}.plus-feature-group-caption{font-size:.8em;color:#7a849d;line-height:1.45;margin-bottom:8px}.plus-features-list{margin:0;padding:0;list-style:none}.plus-features-list--grouped{display:grid;gap:8px}.plus-features-list li{margin-bottom:8px;padding-left:16px;position:relative}.plus-features-list--grouped li{margin-bottom:0}.plus-features-list li:before{content:"";position:absolute;left:0;top:.4em;width:6px;height:6px;border-radius:50%;background:var(--primary)}.plus-features-list li strong,.plus-features-list .plus-feature-title{font-weight:600;color:#2f3640}.plus-features-list .plus-feature-desc{font-size:.9em;color:#666;line-height:1.4}.plus-features-list .plus-feature-desc--block{display:block;margin-top:3px}.plus-modal-actions{margin-top:14px}.plus-modal-actions .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.plus-modal-actions .btn-secondary:hover{text-decoration:none}.plus-section--error{border-color:#c0392b2e;background:#c0392b0a}.plus-skeleton{padding:6px 0 2px}.plus-skeleton-text{font-size:.95em;color:#666;margin-bottom:10px}.plus-skeleton-pills{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.plus-skeleton-pill{background:#f5f5f7;border:1px solid #ececec;border-radius:999px;padding:6px 10px;font-size:.85em;color:transparent;min-width:60px}.plus-skeleton-blocks{display:grid;gap:8px}.plus-skeleton-block{height:44px;background:#f5f5f7;border-radius:10px;border:1px solid #ececec}@media(max-width:480px){.plus-info-modal .profile-update-modal-content{width:calc(100vw - 16px);max-height:90vh}.plus-section{padding:10px}.plus-plan-option{padding:8px 10px;font-size:.84em}}.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)}#categoryModal{z-index:9502!important}#migrateCategoryModal{z-index:9503!important}#editCategoryModal{z-index:9504!important}.modal.modal-covered-by-child{background:transparent!important}.modal.modal-covered-by-child .modal-content{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.98)!important}#editCategoryModal .modal-content,#migrateCategoryModal .modal-content{max-width:420px;max-height:min(90vh,760px);overflow-y:auto;overscroll-behavior:contain}#categoryModal .modal-content{max-height:min(92vh,860px);overflow-y:auto;overscroll-behavior:contain}.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)}.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{position:absolute;top:12px;right:12px;background:#fffffff5;border:1px solid rgba(15,23,42,.08);color:#a0a6b4;cursor:pointer;font-size:.95em;padding:0;width:34px;height:34px;min-width:34px;min-height:34px;border-radius:999px;transition:background-color .18s ease,color .18s ease,border-color .18s ease;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0f172a14;z-index:1}.tx-row-remove:hover{color:var(--danger);background:#fffffffa;border-color:#ef444461}.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}.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:8px;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)}.transactions-section>.collapsible-header .tx-filters-toggle-btn{margin-left:auto;margin-right:0}.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}.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:6px 8px;border:none;background:transparent;color:inherit;font:inherit;border-radius:20px;transition:background-color .2s}.user-profile-clickable:hover{background-color:#fff3}.user-profile-clickable:focus-visible{outline:2px solid rgba(255,255,255,.92);outline-offset:2px}.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-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}}.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:6px 8px;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:6px 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-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-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:38px;height:38px;font-size:24px;line-height:1}:is(#multiTransactionModal,#editTransactionModal) .modal-close:hover{color:var(--danger);background:#fffffffa;border-color:#ef444499}: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:38px;height:38px;font-size:24px;line-height:1}:is(#accountModal,#adjustModal,#ratesModal) .modal-close:hover{color:var(--danger);background:#fffffffa;border-color:#ef444499}: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-stack{display:grid;gap:10px;margin-top:12px}.ai-import-banner{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border, #e2e8f0);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:color-mix(in srgb,var(--primary) 32%,transparent);background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%);box-shadow:0 3px 10px #3d54c714;transform:translateY(-1px)}.ai-import-banner:active{transform:scale(.98)}.ai-import-banner-icon{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--surface) 72%,var(--primary) 28%);display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:1em;flex-shrink:0}.ai-import-banner--ai{background:color-mix(in srgb,var(--surface) 84%,var(--primary) 16%);border-color:color-mix(in srgb,var(--primary) 22%,transparent)}.ai-import-banner--ai:hover{background:color-mix(in srgb,var(--surface) 76%,var(--primary) 24%);border-color:var(--primary)}.ai-import-banner--ai .ai-import-banner-icon{background:linear-gradient(135deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 60%,#8aa8ff) 100%);color:#fff}.ai-import-banner--bank .ai-import-banner-icon{background:color-mix(in srgb,var(--surface) 76%,var(--primary) 24%);color:var(--primary)}.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}.tx-import-modal .profile-update-modal-content.ai-tx-import-modal-content{max-width:680px;width:min(680px,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}.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}.tx-import-modal .profile-update-modal-close{color:#888;width:38px;height:38px;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.tx-import-modal .profile-update-modal-close:hover{color:var(--danger);background:#fffffffa;border-color:#ef444499}.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-progress-header{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.ai-tx-import-progress-step{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface-muted, #f5f7fb);border:1px solid #e7eaf2;opacity:.65;transition:opacity .2s ease,border-color .2s ease,background .2s ease}.ai-tx-import-progress-step.is-active,.ai-tx-import-progress-step.is-complete{opacity:1}.ai-tx-import-progress-step.is-active{border-color:color-mix(in srgb,var(--primary) 28%,transparent);background:color-mix(in srgb,var(--surface) 86%,var(--primary) 14%)}.ai-tx-import-progress-step.is-complete{border-color:color-mix(in srgb,var(--success) 22%,transparent);background:color-mix(in srgb,var(--surface) 88%,var(--success) 12%)}.ai-tx-import-progress-step-index{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dbe2ef;color:var(--text-primary);font-size:.88em;font-weight:700;flex-shrink:0}.ai-tx-import-progress-step.is-active .ai-tx-import-progress-step-index{background:var(--primary);border-color:var(--primary);color:#fff}.ai-tx-import-progress-step.is-complete .ai-tx-import-progress-step-index{background:var(--success);border-color:var(--success);color:#fff}.ai-tx-import-progress-step-copy{min-width:0}.ai-tx-import-progress-step-copy strong,.ai-tx-import-progress-step-copy span{display:block}.ai-tx-import-progress-step-copy strong{font-size:.85em;color:var(--text-primary)}.ai-tx-import-progress-step-copy span{font-size:.76em;color:var(--text-secondary);margin-top:2px}.ai-tx-import-panel[hidden]{display:none!important}.ai-tx-import-hero{margin-bottom:16px}.ai-tx-import-hero-title{font-size:1.02em;font-weight:700;color:var(--text-primary)}.ai-tx-import-hero-text{margin-top:6px;color:var(--text-secondary);font-size:.92em;line-height:1.45}.ai-tx-import-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-tx-import-source-card,.ai-tx-import-section-card,.ai-tx-import-result-shell{border:1px solid #e7eaf2;border-radius:var(--page-block-radius);background:var(--surface);padding:16px}.ai-tx-import-source-card{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.ai-tx-import-source-card.is-active{border-color:color-mix(in srgb,var(--primary) 28%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent);background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.ai-tx-import-source-card-header,.ai-tx-import-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.ai-tx-import-source-card-header strong,.ai-tx-import-section-heading strong{display:block;font-size:.96em;color:var(--text-primary)}.ai-tx-import-source-card-header span,.ai-tx-import-section-heading span{display:block;margin-top:4px;font-size:.85em;line-height:1.45;color:var(--text-secondary)}.ai-tx-import-source-card-header i{color:var(--primary);font-size:1rem;margin-top:2px}.tx-import-modal .ai-tx-import-form-group,.tx-import-modal .ai-tx-import-options-group{margin-bottom:0}.ai-tx-import-file-group{margin-top:0}.tx-import-modal .ai-tx-import-form-group label,.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}.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:color-mix(in srgb,var(--surface) 96%,#f4f7fb);transition:border-color .2s,box-shadow .2s}.tx-import-modal textarea::placeholder{color:var(--text-secondary);opacity:.8}.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}.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)}.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}.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}.tx-import-modal .modal-actions .btn-secondary:hover{background:#e8e8ee;border-color:#d0d2d8;color:#333}.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}.tx-import-modal .modal-actions .submit-btn:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.ai-tx-import-feedback{display:none;border-radius:var(--radius-md);padding:0;border:none;background:transparent;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-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;padding:14px 16px;border-radius:16px;border:1px solid #e7eaf2;background:color-mix(in srgb,var(--surface) 96%,#f5f7fb)}.ai-tx-import-feedback-section-title{font-weight:600;margin-bottom:8px;color:var(--text-primary);font-size:.95em}.ai-tx-import-feedback-section-subtitle{margin:0 0 10px;color:var(--text-secondary);font-size:.88em;line-height:1.45}.ai-tx-import-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.ai-tx-import-summary-chip{padding:12px 14px;border-radius:14px;border:1px solid #e7eaf2;background:color-mix(in srgb,var(--surface) 96%,#f5f7fb)}.ai-tx-import-summary-chip strong,.ai-tx-import-summary-chip span{display:block}.ai-tx-import-summary-chip strong{font-size:1.08em;color:var(--text-primary)}.ai-tx-import-summary-chip span{margin-top:4px;font-size:.82em;color:var(--text-secondary)}.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:0;display:grid;gap:6px;max-height:28vh;overflow-y:auto;-webkit-overflow-scrolling:touch;list-style:none}.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-tx-import-ready-row,.ai-skipped-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #eceef5}.ai-tx-import-ready-main{min-width:0}.ai-tx-import-ready-main strong,.ai-tx-import-ready-main span{display:block}.ai-tx-import-ready-main strong{color:var(--text-primary);font-size:.92em}.ai-tx-import-ready-main span{margin-top:4px;font-size:.82em;color:var(--text-secondary)}.ai-tx-import-ready-category{max-width:40%;font-size:.82em;color:var(--primary);font-weight:600;text-align:right}.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 color-mix(in srgb,var(--warning) 28%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 90%,var(--warning) 10%);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-tx-import-clarify-actions{display:flex;justify-content:flex-start;margin-top:10px}.ai-tx-import-clarify-actions .btn-secondary{min-height:36px;padding:0 12px;font-size:.88em}.ai-clarify-status{margin-top:8px;font-size:.82em;color:var(--warning)}.ai-clarify-status.is-ok{color:var(--success)}@media(max-width:600px){.tx-import-modal{align-items:stretch;padding:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:100dvh;min-height:-webkit-fill-available}.tx-import-modal .profile-update-modal-content.ai-tx-import-modal-content{width:100vw;max-width:100vw;max-height:100dvh;margin:0;border-radius:0;box-shadow:none;padding:12px 14px 0;padding-top:max(12px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.tx-import-modal .profile-update-modal-header.ai-tx-import-modal-header{padding-bottom:10px;margin-bottom:10px}.tx-import-modal .profile-update-modal-close{width:44px;height:44px;min-width:44px;min-height:44px;font-size:24px;line-height:1;margin:-4px -4px 0 0}.ai-tx-import-modal-body{padding-bottom:8px}.ai-tx-import-source-grid,.ai-tx-import-summary-grid,.ai-tx-import-ready-row,.ai-skipped-row{grid-template-columns:1fr;flex-direction:column}.ai-tx-import-modal-title{font-size:1.1em}.ai-tx-import-modal-subtitle{font-size:.78em;line-height:1.35}.ai-tx-import-modal-header-inner{gap:10px}.ai-tx-import-modal-icon{width:34px;height:34px;border-radius:10px;font-size:.95em}.ai-tx-import-progress-header{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.ai-tx-import-progress-header::-webkit-scrollbar{display:none}.ai-tx-import-progress-step{align-items:center;min-width:136px;padding:8px 10px;gap:8px;flex:0 0 auto;scroll-snap-align:start}.ai-tx-import-progress-step-copy strong{font-size:.78em}.ai-tx-import-progress-step-copy span{font-size:.7em;margin-top:1px}.ai-tx-import-progress-step-index{width:24px;height:24px;font-size:.78em}.ai-tx-import-hero{margin-bottom:10px}.ai-tx-import-hero-title{font-size:.94em}.ai-tx-import-hero-text,.ai-tx-import-source-card-header span,.ai-tx-import-section-heading span,.ai-tx-import-feedback-section-subtitle,.ai-tx-import-feedback-meta{font-size:.82em;line-height:1.35}.ai-tx-import-source-card,.ai-tx-import-section-card,.ai-tx-import-result-shell,.ai-tx-import-feedback-section{padding:12px;border-radius:14px}.ai-tx-import-source-card-header,.ai-tx-import-section-heading{margin-bottom:10px;gap:10px}.ai-tx-import-source-card-header strong,.ai-tx-import-section-heading strong{font-size:.9em}.ai-tx-import-ready-category{max-width:none;text-align:left}.tx-import-modal .modal-actions.ai-tx-import-modal-actions{position:sticky;bottom:0;padding:10px 14px max(12px,env(safe-area-inset-bottom));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--surface) 92%,transparent)}.tx-import-modal .modal-actions .btn-secondary,.tx-import-modal .modal-actions .submit-btn{min-height:44px;padding:10px 16px;font-size:.95rem}.tx-import-modal textarea{font-size:16px;min-height:88px;padding:12px 14px}.tx-import-modal .ai-tx-import-bank-select,.tx-import-modal .ai-tx-import-clarify-controls select{font-size:16px;min-height:44px}.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:44px;padding:8px 0}.ai-tx-import-file-clear{min-height:44px}.ai-tx-import-toggle-row{font-size:.8em;line-height:1.32}.ai-tx-import-toggle-row input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px}.ai-tx-import-clarify-controls{grid-template-columns:1fr;gap:8px}.ai-tx-import-clarify-controls select{min-height:44px}.ai-tx-import-summary-chip{padding:10px 12px}.ai-tx-import-summary-chip strong{font-size:1em}.ai-tx-import-summary-chip span{font-size:.76em;margin-top:3px}.ai-tx-import-ready-row,.ai-skipped-row,.ai-tx-import-clarify-row{padding:10px 11px}.ai-tx-import-feedback-section ul,.ai-tx-import-clarify-list{max-height:24dvh}#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}}@media(max-width:900px)and (max-height:540px){.tx-import-modal .profile-update-modal-content.ai-tx-import-modal-content{padding-top:max(8px,env(safe-area-inset-top))}.tx-import-modal .profile-update-modal-header.ai-tx-import-modal-header{margin-bottom:8px;padding-bottom:8px}.ai-tx-import-progress-header{margin-bottom:8px}.ai-tx-import-source-card,.ai-tx-import-section-card,.ai-tx-import-result-shell,.ai-tx-import-feedback-section{padding:10px}.tx-import-modal textarea{min-height:72px}.ai-tx-import-feedback-section ul,.ai-tx-import-clarify-list{max-height:20dvh}}@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,.export-modal{background:#10182885;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity var(--modal-animation-duration) ease,visibility var(--modal-animation-duration) ease}.modal-content,.auth-container,.modal-box,.profile-update-modal-content,.avatar-picker-modal-content,.export-modal-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}:is(.modal-content,.auth-container,.modal-box,.profile-update-modal-content,.avatar-picker-modal-content,.export-modal-content){position:relative;background:linear-gradient(180deg,#fffffffa,#f7f8fcfa);border:1px solid rgba(15,23,42,.08);border-radius:var(--page-block-radius);box-shadow:0 24px 80px #0f172a2e,0 10px 28px #0f172a14;padding:20px 20px 18px}:is(.modal-header,.modal-head,.profile-update-modal-header,.avatar-picker-modal-header,.export-modal-header){display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;padding-right:52px;padding-bottom:14px;border-bottom:1px solid rgba(15,23,42,.08);min-height:38px}:is(.modal-title,.profile-update-modal-header h3,.avatar-picker-modal-header h3,.export-modal-header h3){margin:0;font-size:1.22rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close){width:38px;height:38px;min-width:38px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#ffffffbf;color:#7b8190;position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:0;font-weight:400;line-height:1;cursor:pointer;flex-shrink:0;transition:background-color .18s ease,color .18s ease,border-color .18s ease}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close){position:absolute;top:14px;right:20px;z-index:3}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close):before,:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close):after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;border-radius:999px;background:currentColor;transform-origin:center}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close):before{transform:translate(-50%,-50%) rotate(45deg)}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close):after{transform:translate(-50%,-50%) rotate(-45deg)}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close):hover{background:#fffffffa;border-color:#ef444499;color:var(--danger)}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close,.emoji-picker-close):focus-visible{outline:none;box-shadow:var(--focus-ring)}.modal-content--narrow{max-width:400px}.modal-content--compact{max-width:420px}.modal-content--medium{max-width:520px}.modal-content--wide{max-width:600px}.modal-content--plus{max-width:540px}.modal-content--centered{text-align:center}.modal-header--bare{justify-content:flex-end;margin-bottom:0;padding-right:52px;padding-bottom:0;border-bottom:none;min-height:38px}.modal-body-copy{padding:10px 0 16px}.modal-body-copy--compact{padding:8px 16px}.modal-actions--primary-only{justify-content:flex-end}.modal-actions--primary-only>.submit-btn{min-width:220px}.modal-body-copy p:last-child,.modal-helper-text:last-child{margin-bottom:0}.modal-helper-text{color:var(--text-secondary);margin:0 0 14px;line-height:1.5}.modal-helper-text--muted{color:#888}.modal-helper-text--centered{text-align:center}.modal-stack-input{margin-top:10px}.modal-resend-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-danger-trigger{width:100%;margin-top:12px;color:var(--danger);background:#e74c3c0f;border:1px solid rgba(231,76,60,.25)}.modal-loading-state{padding:20px;color:#888;text-align:center}.modal-loading-state--roomy{padding:24px}.modal-scroll-panel{overflow-y:auto;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#ffffffb8}.modal-actions,.export-modal-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(15,23,42,.08);flex-wrap:wrap}.modal-actions .submit-btn,.modal-actions .btn-secondary,.export-modal-actions button{min-height:44px;border-radius:12px}.profile-update-form .form-group,.export-options .form-group,.avatar-picker-container .form-group{margin-bottom:14px}.profile-update-form label,.export-options label{color:var(--text-secondary);font-weight:600;font-size:.88rem}.profile-update-form input,.profile-update-form select,.export-options input,.export-options select{width:100%;min-height:44px;padding:11px 12px;border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fffffff5;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.profile-update-form input:focus,.profile-update-form select:focus,.export-options input:focus,.export-options select:focus{border-color:var(--primary);box-shadow:var(--focus-ring);background:#fff;outline:none}@media(max-width:768px){:is(.modal-content,.auth-container,.modal-box,.profile-update-modal-content,.avatar-picker-modal-content,.export-modal-content){width:min(94vw,620px);padding:18px 16px 16px;border-radius:var(--page-block-radius)}:is(.modal-header,.profile-update-modal-header,.avatar-picker-modal-header,.export-modal-header){margin-bottom:16px;padding-bottom:12px}:is(.modal-title,.profile-update-modal-header h3,.avatar-picker-modal-header h3,.export-modal-header h3){font-size:1.08rem}:is(.modal-close,.profile-update-modal-close,.avatar-picker-modal-close,.export-modal-close){top:12px;right:16px}.modal-actions,.export-modal-actions{gap:10px;margin-top:16px;padding-top:14px}}#userProfileDropdown .dropdown-item+.dropdown-item{border-top:none}@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:var(--block-surface-radius-sm);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:var(--block-surface-radius-sm);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}}.user-badge--menu-anchor{position:relative}.profile-action--investments-only{display:none}.investments-page .profile-action--investments-only{display:flex}.auth-status-note{font-size:13px;color:#888;margin:8px 0 0}.auth-status-note--strong{margin-top:0;color:#46516a;font-size:14px}.auth-inline-actions{display:flex;align-items:center;gap:10px}.auth-inline-actions--center{justify-content:center}.auth-panel-footer{margin-top:15px;text-align:center}.auth-panel-footer--stack{display:grid;gap:10px;justify-items:center}.modal-copy-block{padding:10px 0 16px}.modal-copy-block p{margin:0 0 10px}.modal-copy-note{font-size:.88em;color:#888}.modal-copy-note--subtle{color:#aaa;margin-bottom:20px}.modal-copy-note--strong{font-size:1em;color:#333}.modal-cta-full{width:100%}.modal-result-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;min-height:300px}.modal-result-screen__icon{font-size:4em;color:#28a745;margin-bottom:20px}.modal-result-screen__title{margin:0 0 15px;font-size:1.5em}.modal-result-screen__text{margin:0 0 40px;color:#666;max-width:400px}.modal-result-screen__action{margin-top:10px}.input-action-row{display:flex;gap:8px}.input-action-row__field{flex:1}.input-action-row__button{padding:0 12px;font-size:1.2em;flex-shrink:0}.modal-form-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.panel-block{margin-bottom:20px}.panel-block__title{margin-bottom:10px}.panel-block__stack,.feature-gate-hint--spaced{margin-bottom:12px}.category-create-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.action-button--full-height{height:100%;padding:10px 15px}.segmented-actions{display:flex;gap:10px;margin-bottom:10px}.segmented-actions>*{flex:1;padding:8px}.scroll-panel{max-height:300px;overflow-y:auto;border:1px solid #eee;border-radius:8px;padding:10px}.sections-create-row{display:flex;gap:10px;align-items:stretch}.sections-create-row__field{flex:1}.sections-create-row__button{white-space:nowrap;width:auto;padding:0 20px}.sections-list-panel{max-height:400px;overflow-y:auto;padding:4px 0}.friends-tab-panel--scroll-sm{max-height:360px;overflow-y:auto}.friends-tab-panel--scroll-lg{max-height:400px;overflow-y:auto}.friends-invite-button{width:100%;margin-bottom:16px}@media(max-width:960px){.category-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.category-create-grid,.modal-form-grid{grid-template-columns:1fr}.sections-create-row,.segmented-actions,.auth-inline-actions{flex-direction:column;align-items:stretch}.sections-create-row__button,.friends-invite-button,.modal-cta-full{width:100%}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);display:flex;align-items:stretch;z-index:9100;box-shadow:0 -8px 24px #0f172a14;overflow:visible}.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:#8b93a5;font-size:.7em;font-weight:650;padding:6px 4px 10px;cursor:pointer;border:none;background:none;transition:color .18s,background-color .18s,transform .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:750;background:#3d54c71a;border-radius:14px;margin:4px 2px;box-shadow:inset 0 0 0 1px #3d54c724}.nav-item.active i{transform:scale(1.15);color:var(--primary, #3d54c7)}.nav-item:hover{color:var(--primary);background:#3d54c70d}.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:300px;max-width:360px;border-radius:14px;border-top:none;border:1px solid rgba(61,84,199,.12);height:64px;box-shadow:var(--shadow-floating)}.nav-item{padding:8px 20px 9px;font-size:.68em;min-width:84px;gap:4px}.nav-item.active{margin:4px}.nav-item i{font-size:1.25em}}button.nav-item{cursor:pointer;outline:none}.container{padding-bottom:92px}@media(min-width:769px){.container{padding-bottom:132px}}.accounts-page{overflow-x:hidden}.accounts-page .main-content{min-height:100vh;overflow-x:hidden}.accounts-page .page{width:100%;max-width:min(1120px,100vw);margin:12px auto 0;padding-bottom:calc(96px + env(safe-area-inset-bottom,0))}.accounts-page .container{box-sizing:border-box}.accounts-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.accounts-page-header__copy{max-width:620px}.accounts-page-header__copy .section-label{margin-bottom:8px}.accounts-page-header__copy h2{margin:0 0 8px;font-size:clamp(1.6rem,2vw,2rem);line-height:1.1;color:var(--text-primary)}.accounts-page-header__copy p:last-child{margin:0;color:var(--text-secondary);line-height:1.6}.accounts-page-header__actions{display:flex;gap:10px;flex-shrink:0}.btn-rates{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-subtle);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f4f6fcfa);color:var(--text-secondary);box-shadow:var(--shadow-card-subtle);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.btn-rates:hover{transform:translateY(-1px);border-color:var(--primary-border);box-shadow:var(--shadow-card-hover);color:var(--text-primary)}.btn-rates--wide{width:auto;padding:0 14px}.btn-rates--wide span{font-size:.92rem;font-weight:600}.btn-rates--wide.is-active{color:var(--primary);border-color:#3d54c747}.section-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}#accountsSummary{margin-bottom:18px}.accounts-summary-card{display:grid;gap:14px;padding:18px;border-radius:var(--page-block-radius);border:1px solid rgba(61,84,199,.12);background:linear-gradient(180deg,#fffffffa,#f6f9fffa);box-shadow:var(--shadow-card-subtle)}.accounts-summary-card__headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.accounts-summary-card__eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.accounts-summary-card__value{font-size:clamp(2rem,4vw,2.45rem);line-height:1.05;font-weight:800;color:var(--text-primary)}.accounts-summary-card__meta{margin:6px 0 0;color:var(--text-secondary);font-size:.92rem;line-height:1.45}.accounts-summary-card__pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.accounts-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(61,84,199,.12);color:var(--text-primary);font-size:.82rem;font-weight:600}.accounts-summary-card__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.accounts-stat-card{padding:12px;border-radius:var(--block-surface-radius-sm);border:1px solid rgba(61,84,199,.08);background:#ffffffdb}.accounts-stat-card p{margin:0 0 6px;font-size:.8rem;color:var(--text-secondary)}.accounts-stat-card strong{display:block;font-size:1.15rem;color:var(--text-primary);line-height:1.25}.accounts-stat-card--positive{box-shadow:inset 0 0 0 1px #27ae6014}.accounts-stat-card--danger{box-shadow:inset 0 0 0 1px #d6464614}.accounts-summary-card__currencies{display:flex;flex-wrap:wrap;gap:10px}.accounts-currency-chip{display:flex;flex-direction:column;gap:4px;min-width:120px;padding:10px 12px;border-radius:var(--block-surface-radius-sm);background:#ffffffeb}.accounts-currency-chip--positive{border:1px solid rgba(39,174,96,.18)}.accounts-currency-chip--danger{border:1px solid rgba(214,70,70,.16)}.accounts-currency-chip__code{font-size:.75rem;color:var(--text-secondary);font-weight:700;text-transform:uppercase}.accounts-currency-chip__value{font-size:.9rem;color:var(--text-primary);font-weight:700}#accountsSections{display:grid;gap:18px}.accounts-group{display:grid;gap:10px}.accounts-group__header{display:flex;align-items:center;justify-content:space-between}.accounts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.accounts-card{display:grid;gap:10px;padding:16px;border-radius:var(--page-block-radius);border:1px solid rgba(61,84,199,.11);background:linear-gradient(180deg,#fffffffa,#f8fafffa);box-shadow:var(--shadow-card-subtle)}.accounts-card--credit{border-color:#d6464629}.accounts-card--drop-target{transition:border-color .16s ease,box-shadow .16s ease}.accounts-card.is-drag-over{border-color:#3d54c759;box-shadow:0 0 0 2px #3d54c714}.accounts-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.accounts-card__title-block{flex:1 1 auto;min-width:0}.accounts-card__title{margin:0;font-size:1.05rem;line-height:1.2;overflow-wrap:break-word}.accounts-card__bank{display:inline-flex;margin-top:5px;padding:5px 9px;border-radius:999px;background:#3d54c714;color:var(--primary);font-size:.72rem;font-weight:700}.accounts-card__head-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto}.accounts-card__reorder{display:flex;align-items:center;gap:6px}.accounts-card__handle{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px dashed rgba(61,84,199,.22);color:var(--text-secondary);cursor:grab}.accounts-card__balance-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.accounts-card__balance{font-size:1.6rem;line-height:1;font-weight:800;color:var(--text-primary)}.accounts-card__balance--danger{color:var(--danger)}.accounts-card__meta{display:grid;gap:4px;color:var(--text-secondary);font-size:.84rem}.accounts-card__meta p,.accounts-card__interest,.accounts-card__notes{margin:0}.accounts-card__interest{color:#176b3d;font-size:.84rem;line-height:1.5}.accounts-card__grace{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:700}.accounts-card__grace--success{color:#176b3d;background:#27ae601a}.accounts-card__grace--warning{color:#9a6b00;background:#c696141f}.accounts-card__grace--danger{color:#b82121;background:#d646461f}.accounts-card__notes{color:var(--text-secondary);font-size:.82rem;line-height:1.55}.accounts-card__footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:4px}.accounts-text-action,.accounts-icon-btn,.accounts-mini-action{border:1px solid var(--border-subtle);background:#fffffff0;color:var(--text-primary);transition:border-color .16s ease,color .16s ease,transform .16s ease}.accounts-text-action:hover,.accounts-icon-btn:hover,.accounts-mini-action:hover{transform:translateY(-1px);border-color:#3d54c73d}.accounts-text-action{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:9px 12px;border-radius:12px;font-size:.82rem;font-weight:700;width:100%;min-width:0;text-align:left;line-height:1.2}.accounts-text-action__label{display:block;min-width:0;overflow-wrap:break-word}.accounts-icon-btn,.accounts-mini-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:12px}.accounts-icon-btn{width:34px;height:34px}.accounts-icon-btn--danger,.accounts-mini-action--danger{color:var(--danger)}.accounts-mini-action{min-height:32px;padding:0 10px;font-size:.76rem;font-weight:700}.accounts-add-section{margin-top:18px;margin-bottom:24px}.btn-add-full{display:block;width:100%;max-width:min(760px,100%);margin:0 auto;padding:15px 20px;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);border:none;border-radius:18px;box-shadow:var(--shadow-primary);transition:filter .16s ease,transform .16s ease}.btn-add-full:hover{filter:brightness(1.04);transform:translateY(-1px)}.empty-state{display:grid;justify-items:center;gap:8px;padding:28px 18px;text-align:center;color:var(--text-secondary);border-radius:var(--page-block-radius);border:1px dashed rgba(61,84,199,.18);background:#ffffffc7}.empty-state i{font-size:1.8rem;color:#3d54c78c}.accounts-empty-state h3,.accounts-empty-state p{margin:0}.accounts-empty-state p{max-width:440px;line-height:1.6}.accounts-page .form-group{margin-bottom:14px}.accounts-page .form-group label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:700;color:var(--text-secondary)}.accounts-page .form-group :is(input,select,textarea){width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:14px;font-size:.95rem;font-family:inherit;background:#f8faffe6;color:var(--text-primary);transition:border-color .16s ease,box-shadow .16s ease}.accounts-page .form-group :is(input,select,textarea):focus{outline:none;border-color:#3d54c73d;box-shadow:0 0 0 3px #3d54c714}.accounts-page .form-group textarea{min-height:78px;resize:vertical}.account-modal-card{padding:14px;border-radius:var(--block-surface-radius-sm);border:1px solid rgba(61,84,199,.12);background:#3d54c70a;margin-bottom:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-hint{margin:6px 0 0;font-size:.76rem;color:var(--text-secondary);line-height:1.5}.form-error{min-height:18px;margin-top:6px;color:var(--danger);font-size:.8rem;font-weight:600}.is-hidden{display:none!important}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-content{max-width:720px;border-radius:var(--page-block-radius);padding:22px 22px 18px}.accounts-page .modal-content--wide{max-width:860px!important}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-title{font-size:1.95rem;line-height:1.08}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-actions{margin-top:18px;padding-top:14px}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-actions .btn-secondary,.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-actions .submit-btn{min-height:46px;border-radius:14px;flex:1 1 0}.btn-secondary--compact{min-height:40px;padding:0 12px}.rates-modal-copy{display:grid;gap:6px;margin-bottom:14px}.rates-modal-copy__label,.rates-modal-status,.rates-modal-note{margin:0}.rates-modal-status{font-size:.9rem;color:var(--text-secondary);line-height:1.45}.rates-modal-status.is-error{color:var(--danger)}.rates-modal-note{font-size:.8rem;color:var(--text-secondary)}.rates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rate-field{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--block-surface-radius-sm);border:1px solid rgba(61,84,199,.08);background:#f8faffd6}.rate-field label{font-size:.82rem;font-weight:700;color:var(--text-secondary)}.rate-unit{font-size:.8rem;color:var(--text-secondary)}.accounts-adjust-hint{margin-top:0;margin-bottom:14px}#adjustModal .modal-header{margin-bottom:16px;padding-right:60px;padding-bottom:12px}#adjustModal .modal-title{max-width:12ch;line-height:1.04}#adjustModal #adjustForm{display:grid;gap:16px}#adjustModal .accounts-adjust-hint,#adjustModal #adjustOperationGroup,#adjustModal #adjustAmountWrap,#adjustModal #adjustDateWrap,#adjustModal .form-error,#adjustModal .modal-actions{margin:0}#adjustModal #adjustAccountList{display:grid;gap:16px}#adjustModal .accounts-picker-group{display:grid;gap:10px}.accounts-picker-group+.accounts-picker-group{margin-top:14px}#adjustModal .accounts-picker-group+.accounts-picker-group{margin-top:0}.accounts-picker-list{display:grid;gap:8px}#adjustModal .accounts-picker-list{gap:10px}.accounts-picker-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:12px 14px;border-radius:var(--block-surface-radius-sm);border:1px solid rgba(61,84,199,.08);background:#fffffff0;color:var(--text-primary);font-size:.9rem;font-weight:600;text-align:left}#adjustModal .accounts-picker-item{padding:14px 16px}.accounts-picker-item.is-selected{border-color:#3d54c757;background:#3d54c714}.accounts-adjust-mode{margin-top:0}#adjustModal .accounts-adjust-mode{margin-top:-2px}.accounts-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#adjustModal .accounts-segmented{gap:10px}.accounts-segmented__item{min-height:40px;padding:0 12px;border-radius:var(--block-surface-radius-sm);border:1px solid rgba(61,84,199,.08);background:#f8faffe0;color:var(--text-primary);font-size:.86rem;font-weight:700}#adjustModal .accounts-segmented__item{min-height:50px;padding:8px 12px;line-height:1.12}#adjustModal #adjustOperationGroup label,#adjustModal #adjustAmountWrap label,#adjustModal #adjustDateWrap label{margin-bottom:8px}#adjustModal .form-error{min-height:20px}#adjustModal .modal-actions{padding-top:12px}.accounts-segmented__item.is-active{border-color:#3d54c747;background:#3d54c71f;color:var(--primary)}.accounts-history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.accounts-history-toolbar__filters{display:flex;flex-wrap:wrap;gap:8px}.accounts-filter-chip{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(61,84,199,.12);background:#f8faffe6;color:var(--text-primary);font-size:.8rem;font-weight:700}.accounts-filter-chip.is-active{border-color:#3d54c747;background:#3d54c71f;color:var(--primary)}.accounts-modal-heading{display:grid;gap:6px}.accounts-modal-subtitle{margin:0;color:var(--text-secondary);font-size:.92rem;line-height:1.45}.account-history-body{max-height:min(60vh,620px);overflow-y:auto;padding-right:2px}.accounts-history-group+.accounts-history-group{margin-top:16px}.accounts-history-group__date{margin-bottom:8px;font-size:.82rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.accounts-history-group__list{display:grid;gap:10px}.accounts-history-row{display:grid;gap:10px;padding:12px 14px;border-radius:var(--block-surface-radius-sm);border:1px solid rgba(61,84,199,.08);background:#fffffff0}.accounts-history-row__main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.accounts-history-row__copy{display:grid;gap:4px}.accounts-history-row__copy strong,.accounts-history-row__copy span,.accounts-history-row__copy small,.accounts-history-row__time{display:block}.accounts-history-row__copy strong{font-size:.95rem}.accounts-history-row__copy span,.accounts-history-row__copy small,.accounts-history-row__time{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.accounts-history-row__side{text-align:right}.accounts-history-row__amount{font-size:.98rem;font-weight:800}.accounts-history-row__amount--positive{color:#176b3d}.accounts-history-row__amount--negative{color:var(--danger)}.accounts-history-row__actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:1024px){.accounts-grid{grid-template-columns:1fr}}@media(max-width:768px){.accounts-page .container{padding:0 14px 14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.accounts-page-header{flex-direction:column}.accounts-page-header__actions{width:100%}.btn-rates--wide,.btn-rates{flex:1 1 0;justify-content:center}.accounts-summary-card__headline{flex-direction:column}.accounts-summary-card__pills{justify-content:flex-start}.accounts-summary-card__stats,.rates-grid,.form-row{grid-template-columns:1fr}.accounts-history-toolbar,.accounts-history-row__main{flex-direction:column}.accounts-history-row__side{text-align:left}}@media(max-width:520px){.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-content{padding:18px 14px 14px;border-radius:20px 20px 0 0}.accounts-page :is(#accountModal,#adjustModal,#ratesModal,#accountHistoryModal,#accountMovementModal) .modal-title{font-size:1.65rem}#adjustModal .modal-title{font-size:1.48rem;line-height:1.04}#adjustModal #adjustForm,#adjustModal #adjustAccountList{gap:14px}#adjustModal .accounts-picker-group{gap:8px}#adjustModal .accounts-segmented__item{min-height:48px}.accounts-summary-card,.accounts-card{padding:14px}.accounts-card__head{align-items:flex-start}.accounts-card__footer{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-text-action{min-height:64px;padding:10px 12px}}.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:linear-gradient(180deg,#fffffffa,#f8fafffa);border:1px solid var(--border-subtle);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:linear-gradient(180deg,#fffffffa,#f8fafffa);border:1px solid var(--border-subtle);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:var(--block-surface-radius-sm);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:var(--block-surface-radius-sm);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 var(--border-subtle);border-radius:12px;background:#fffffff5;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:var(--block-surface-radius-sm);border:1px solid var(--border-subtle);background:#ffffffeb;padding:10px 12px;box-shadow:0 8px 18px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.investments-page .order-row:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f172a14}.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 var(--border-subtle);border-radius:var(--block-surface-radius-sm);background:#fffffff0;box-shadow:0 8px 20px #0f172a0a}.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 rgba(15,23,42,.06)}.investments-page .table th{text-align:left;background:var(--surface-soft)}.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:var(--block-surface-radius-sm)}.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:var(--block-surface-radius-sm)}.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:var(--page-block-radius);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 .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 var(--border-subtle);background:linear-gradient(180deg,#fffffffa,#f6f8fdfa);color:var(--text-primary);border-radius:12px;padding:9px 12px;font-weight:650;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:14px;box-shadow:0 1px 2px #0f172a0a;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.investments-page .btn:hover{background:var(--surface-soft);border-color:var(--primary-border);box-shadow:0 10px 18px #0f172a14;transform:translateY(-1px)}.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:#3d54c738;color:#fff;box-shadow:var(--shadow-primary)}.investments-page .btn-primary:hover{filter:brightness(1.05);box-shadow:var(--shadow-primary-hover)}.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}
