.backend-maintenance-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at 18% 18%,rgba(15,157,88,.14),transparent 44%),radial-gradient(circle at 82% 16%,rgba(59,130,246,.12),transparent 42%),radial-gradient(circle at 72% 82%,rgba(14,165,233,.12),transparent 38%),#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.backend-maintenance-card{width:min(720px,100%);border-radius:24px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 24px 60px #0f172a1f;padding:22px 22px 20px;position:relative;overflow:hidden}.backend-maintenance-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:6px;background:linear-gradient(90deg,#0f9d58,#22c55e 32%,#38bdf8 70%,#60a5fa)}.backend-maintenance-layout{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(0,1.2fr);gap:18px;align-items:center}.backend-maintenance-visual{border-radius:18px;border:1px solid rgba(15,23,42,.06);background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.8) 0 10px,transparent 11px),radial-gradient(circle at 82% 18%,rgba(255,255,255,.6) 0 12px,transparent 13px),linear-gradient(180deg,#f0fdf4f2,#eff6fff2);padding:16px 16px 14px}.backend-maintenance-visual-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.backend-maintenance-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(15,23,42,.08);background:#ffffffbf;color:#0f172a}.backend-maintenance-chip.is-error{color:#b91c1c;background:#fef2f2e6;border-color:#ef44442e}.backend-maintenance-chip.is-recovering{color:#1d4ed8;background:#eff6ffeb;border-color:#3b82f633}.backend-maintenance-icon-burst{position:relative;width:76px;height:76px;border-radius:20px;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.9),transparent 52%),linear-gradient(145deg,#0f9d582e,#3b82f629);border:1px solid rgba(15,23,42,.08)}.backend-maintenance-icon-burst:before,.backend-maintenance-icon-burst:after{content:"";position:absolute;border-radius:999px;border:1px solid rgba(15,157,88,.2);top:-6px;right:-6px;bottom:-6px;left:-6px;animation:cfa-maintenance-pulse 2.2s ease-out infinite}.backend-maintenance-icon-burst:after{top:-12px;right:-12px;bottom:-12px;left:-12px;border-color:#3b82f629;animation-delay:.7s}.backend-maintenance-icon{font-size:30px;color:#0f172a}.backend-maintenance-build{border-radius:14px;border:1px solid rgba(15,23,42,.06);background:#ffffffd6;padding:10px 10px 8px}.backend-maintenance-build-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.backend-maintenance-build-block{height:12px;border-radius:4px;background:linear-gradient(180deg,#cbd5e1f2,#94a3b8e6);opacity:.45;animation:cfa-maintenance-build 1.6s ease-in-out infinite}.backend-maintenance-build-block.is-on{background:linear-gradient(180deg,#22c55e,#16a34a);opacity:1}.backend-maintenance-build-block:nth-child(2n){animation-delay:.15s}.backend-maintenance-build-block:nth-child(3n){animation-delay:.3s}.backend-maintenance-build-block:nth-child(4n){animation-delay:.45s}.backend-maintenance-build-caption{margin-top:8px;font-size:11px;color:#64748b;display:flex;align-items:center;gap:6px}.backend-maintenance-content{min-width:0}.backend-maintenance-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}.backend-maintenance-meta-pill{font-size:12px;color:#475569;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#ffffffe6;padding:5px 10px}.backend-maintenance-help{margin-top:10px;border-radius:14px;border:1px dashed rgba(15,23,42,.1);background:#ffffffb8;padding:10px 12px;font-size:12px;color:#475569}.backend-maintenance-help code{background:#0f172a0d;border-radius:6px;padding:2px 6px}@keyframes cfa-maintenance-pulse{0%{transform:scale(.95);opacity:.8}to{transform:scale(1.08);opacity:0}}@keyframes cfa-maintenance-build{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-2px);opacity:.85}}@media (max-width: 720px){.backend-maintenance-card{border-radius:20px;padding:18px 16px 16px}.backend-maintenance-layout{grid-template-columns:1fr;gap:14px}.backend-maintenance-visual{padding:14px}.backend-maintenance-icon-burst{width:64px;height:64px;border-radius:16px}.backend-maintenance-icon{font-size:26px}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f1f5f9;--cmfa-radius-surface: 16px;--cmfa-rounded-action-blue: #2563eb;--cmfa-rounded-action-blue-shadow: 0 4px 12px rgba(37, 99, 235, .25);--cmfa-rounded-action-slate: #64748b;--cmfa-rounded-action-slate-shadow: 0 4px 12px rgba(100, 116, 139, .28);--cmfa-rounded-action-cyan: #0891b2;--cmfa-rounded-action-cyan-shadow: 0 4px 12px rgba(8, 145, 178, .28);--cmfa-rounded-action-yellow: #ffbd59;--cmfa-rounded-action-yellow-shadow: 0 4px 12px rgba(255, 189, 89, .32);--cmfa-rounded-action-green: #16a34a;--cmfa-rounded-action-green-shadow: 0 4px 12px rgba(22, 163, 74, .25);--cmfa-rounded-action-red: #eb0303;--cmfa-rounded-action-red-shadow: 0 4px 12px rgba(235, 3, 3, .28);--cmfa-rounded-action-silver: #d9dee7;--cmfa-rounded-action-silver-border: #c7d0dc;--cmfa-rounded-action-silver-shadow: 0 6px 14px rgba(148, 163, 184, .24);--cmfa-rounded-action-dark-text: #334155;--cmfa-rounded-action-gold-text: #2b1d00;overflow-x:clip!important;max-width:100vw}html{overflow-x:clip!important;max-width:100vw;overscroll-behavior-x:none}body{margin:0;overflow-x:clip!important;max-width:100vw;overscroll-behavior-x:none;background-color:#f1f5f9;color:#0f172a;overflow-x:hidden}html{overflow-x:hidden}#root{min-height:100vh;background:#f1f5f9}.ant-card,.ant-table,.ant-table-container,.ant-table-wrapper,.ant-table-wrapper .ant-table-container{border-radius:var(--cmfa-radius-surface)}.ant-card,.ant-table-container{overflow:hidden}.ant-card-head{border-top-left-radius:var(--cmfa-radius-surface);border-top-right-radius:var(--cmfa-radius-surface)}.ant-card-body{border-bottom-left-radius:var(--cmfa-radius-surface);border-bottom-right-radius:var(--cmfa-radius-surface)}.ant-table-container .ant-table-thead>tr>th:first-child{border-top-left-radius:var(--cmfa-radius-surface)}.ant-table-container .ant-table-thead>tr>th:last-child{border-top-right-radius:var(--cmfa-radius-surface)}.primary-market-tabs .ant-tabs-tab-btn,.portfolio-category-tabs .ant-tabs-tab-btn{font-size:16px;font-weight:600}.portfolio-category-tabs .ant-tabs-tab{padding:8px 0}.portfolio-category-tabs .ant-tabs-tab-btn{color:#0f172a;letter-spacing:.08px;transition:color .2s ease,font-weight .2s ease}.portfolio-category-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb!important;font-weight:700}.submarket-tabs .ant-tabs-tab-btn{font-size:14px;font-weight:600}.ant-tabs-nav-wrap{padding-bottom:4px}.submarket-tabs .ant-tabs-nav .ant-tabs-tab-active .ant-tabs-tab-btn{color:#15803d!important}.submarket-tabs .ant-tabs-ink-bar{background:#15803d!important;height:4px!important;bottom:0;margin-bottom:-3px;border-radius:999px}.primary-market-tabs .ant-tabs-nav:before,.portfolio-category-tabs .ant-tabs-nav:before{border-bottom:2px solid #e2e8f0;bottom:0;margin-top:2px}.primary-market-tabs .ant-tabs-tab{padding:8px 0}.portfolio-stock-market-tabs .ant-tabs-tab-btn{font-size:15px;font-weight:600;color:#0f172a}.portfolio-stock-market-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb!important}.portfolio-stock-market-tabs .ant-tabs-nav:before{border-bottom:2px solid #e2e8f0;bottom:0}.portfolio-stock-market-tabs .ant-tabs-ink-bar{height:12px;bottom:0;margin-bottom:-3px;border-radius:999px;background:#2563eb}.primary-market-tabs .ant-tabs-ink-bar{height:4px!important;bottom:0;margin-bottom:-4px;border-radius:999px;background:#2563eb}.primary-market-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb!important;font-weight:700}.portfolio-category-tabs .ant-tabs-ink-bar{height:4px!important;bottom:0;margin-bottom:-4px;border-radius:999px;background:#2563eb!important}.budget-menu-tabs .ant-tabs-nav{margin-bottom:14px;background:#fff;border-radius:4px;padding:12px 18px;border:none;box-shadow:0 2px 8px #0000000a;overflow:visible!important}.budget-menu-tabs .ant-tabs-nav-wrap{overflow:visible!important;padding-top:6px}.budget-menu-tabs .ant-tabs-nav:before{display:none!important}.budget-menu-tabs .ant-tabs-ink-bar{display:none!important}.budget-menu-tabs .ant-tabs-nav-list{display:flex;flex-wrap:wrap;gap:12px;overflow:visible!important}.budget-menu-tabs .ant-tabs-tab{padding:0!important;margin:0!important}.budget-menu-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:0!important}.budget-menu-tabs .ant-tabs-tab-btn,.budget-menu-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:inherit!important}.budget-menu-tabs .ant-tabs-content-holder,.budget-menu-tabs .ant-tabs-content{overflow:visible!important}.budget-menu-tabs .ant-tabs-content-holder{padding-top:6px}.budget-page .budget-menu-tabs .ant-tabs-content-holder .ant-card-head{background-image:radial-gradient(circle at 88% 16%,rgba(255,255,255,.48) 0,rgba(255,255,255,.48) 26px,transparent 27px),radial-gradient(circle at 97% 64%,rgba(255,255,255,.34) 0,rgba(255,255,255,.34) 11px,transparent 12px),radial-gradient(circle at 4% 108%,rgba(255,255,255,.32) 0,rgba(255,255,255,.32) 14px,transparent 15px),var( --budget-section-header-bg, linear-gradient(135deg, rgba(59, 130, 246, .34) 0%, rgba(147, 197, 253, .52) 44%, rgba(239, 246, 255, .96) 100%) )!important;background-repeat:no-repeat!important;border-bottom-color:var(--budget-section-header-border, rgba(59, 130, 246, .24))!important;box-shadow:inset 0 1px #fff6;position:relative;overflow:hidden}.budget-page .budget-menu-tabs .ant-tabs-content-holder .ant-card-head-title{color:#0f172a}.budget-overview-chart-tabs{height:auto!important}.budget-overview-chart-tabs .ant-tabs-tab-btn{font-size:16px;font-weight:700;color:#0b1220}.budget-overview-chart-tabs .ant-tabs-tab{padding:0!important}.budget-overview-chart-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#1e40af!important}.budget-overview-chart-tabs .ant-tabs-tab:hover .ant-tabs-tab-btn{color:#2563eb!important}.budget-overview-chart-tabs .ant-tabs-ink-bar{display:none!important}.budget-overview-chart-tabs .ant-tabs-nav-wrap{padding:0!important}.budget-overview-chart-tabs .ant-tabs-nav{display:block;box-sizing:border-box;width:100%;margin:0!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.budget-overview-chart-tabs .ant-tabs-nav:before{border-bottom:none!important;display:none!important}.budget-overview-chart-tabs .ant-tabs-nav,.budget-overview-chart-tabs .ant-tabs-nav-list{margin-bottom:0!important}.budget-overview-chart-tabs .ant-tabs-content-holder{width:100%;margin-top:0!important;padding-top:0!important;border-top:none!important;height:308px!important;min-height:308px!important;max-height:308px!important;flex:0 0 308px!important}.budget-overview-chart-tabs .ant-tabs-content,.budget-overview-chart-tabs .ant-tabs-tabpane{height:100%}.budget-overview-chart-tabs .ant-tabs-tabpane{overflow:hidden}.budget-overview-chart-tabs-expand{display:flex;flex-direction:column;height:100%!important}.budget-overview-chart-tabs-expand .ant-tabs-nav{flex:0 0 auto}.budget-overview-chart-tabs-expand .ant-tabs-content-holder{height:auto!important;min-height:0!important;max-height:none!important;flex:1 1 auto!important}.budget-overview-chart-tabs-expand .ant-tabs-content,.budget-overview-chart-tabs-expand .ant-tabs-tabpane{height:100%}.budget-transaction-line-tabs .ant-tabs-nav{margin:0 0 14px!important;width:100%}.budget-transaction-line-tabs .ant-tabs-nav:before{display:none!important;border-bottom:none!important}.budget-transaction-line-tabs .ant-tabs-ink-bar{display:none!important}.budget-transaction-line-tabs .ant-tabs-nav-wrap{width:100%}.budget-transaction-line-tabs .ant-tabs-nav-list{width:auto!important;max-width:100%;gap:8px}.budget-transaction-line-tabs .ant-tabs-tab{flex:0 0 auto;margin:0!important;padding:0!important}.budget-transaction-line-tabs .ant-tabs-tab-btn{width:auto;display:block}.portfolio-chart-tabs .ant-tabs-tab-btn{font-size:16px;font-weight:700;color:#0b1220}.portfolio-chart-tabs .ant-tabs-tab{padding:10px 6px}.portfolio-chart-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#1e40af!important}.portfolio-chart-tabs .ant-tabs-tab:hover .ant-tabs-tab-btn{color:#2563eb!important}.portfolio-chart-tabs .ant-tabs-ink-bar{height:6px!important;margin-bottom:-6px;background:#2563eb!important;border-radius:999px}.portfolio-chart-tabs .ant-tabs-nav-wrap{display:block;padding:6px}.portfolio-chart-tabs .ant-tabs-nav{display:inline-block;background:linear-gradient(90deg,#d9eaff,#e6f2ff);padding:6px 10px;border-radius:var(--cmfa-radius-surface);border:1px solid rgba(37,99,235,.08);box-shadow:none}.portfolio-chart-tabs .ant-tabs-nav:before{border-bottom:none}.market-index-tabs .ant-tabs-nav-wrap{padding-bottom:0}.market-index-tabs .ant-tabs-nav{display:block;width:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;background:linear-gradient(135deg,#22c55e2e,#10b9811a);border:1px solid rgba(34,197,94,.2)}.market-index-tabs .ant-tabs-nav:before{border-bottom:none}.market-index-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#15803d!important}.market-index-tabs .ant-tabs-tab:hover .ant-tabs-tab-btn{color:#16a34a!important}.market-index-tabs .ant-tabs-ink-bar{background:#16a34a!important}.market-index-chart,.market-index-chart .ant-card-head,.market-index-chart .ant-card-body{border-top-left-radius:0!important;border-top-right-radius:0!important}.portfolio-overview-submenu-tabs .ant-tabs-ink-bar{display:none!important}.portfolio-overview-submenu-tabs .ant-tabs-nav-wrap{padding:0}.portfolio-overview-submenu-tabs .ant-tabs-nav{display:block;box-sizing:border-box;width:100%;margin:0;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.portfolio-overview-submenu-tabs .ant-tabs-nav:before{border-bottom:none!important;display:none!important}.portfolio-overview-submenu-tabs .ant-tabs-content-holder{width:100%}.portfolio-overview-submenu-tabs .ant-tabs-nav,.portfolio-overview-submenu-tabs .ant-tabs-nav-list{margin-bottom:0!important}.portfolio-overview-submenu-tabs .ant-tabs-content-holder .ant-card{border-top:none!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.portfolio-overview-submenu-tabs .ant-tabs-content-holder .ant-card .ant-card-body{border-top-left-radius:0!important;border-top-right-radius:0!important}.portfolio-account-tabs .ant-tabs-nav:before{border-bottom:none!important}.portfolio-account-tabs .ant-tabs-nav{margin-bottom:0!important}.portfolio-account-panel{background:#fff;padding:0 12px 2px;border-radius:var(--cmfa-radius-surface);overflow:hidden;box-shadow:none}.portfolio-account-inner-tabs .ant-tabs-nav:before{border-bottom:none!important}.portfolio-account-inner-tabs .ant-tabs-nav{margin-bottom:0!important;margin-top:-4px!important;padding-top:0!important}.portfolio-account-inner-tabs .ant-tabs-nav-list{padding-top:0!important}.portfolio-account-inner-tabs .ant-tabs-tab{padding-top:6px!important;padding-bottom:6px!important}.portfolio-account-inner-tabs .ant-tabs-content-holder{margin-top:0!important;padding-top:0!important}.portfolio-account-inner-tabs .ant-tabs-content{margin-top:0!important}.portfolio-account-tabs .ant-tabs-content-holder{margin-top:0!important;padding-top:0!important}.portfolio-account-tabs .ant-tabs-content{margin-top:0!important}.portfolio-account-inner-tabs .ant-tabs-content-holder,.portfolio-overview-submenu-tabs .ant-tabs-tab,.portfolio-overview-submenu-tabs .ant-tabs-tab-btn{padding:0}.ant-layout{min-height:100vh;background:transparent}.market-loader{position:fixed;top:100px;left:0;right:0;bottom:0;z-index:1200;width:100%;min-height:calc(100vh - 50px);display:flex;align-items:center;justify-content:center;padding:clamp(32px,6vw,96px);background:var(--loader-bg, #f1f5f9);pointer-events:all}.market-loader__content{width:min(520px,100%);display:flex;flex-direction:column;gap:12px;padding:0 16px}.market-loader__meta{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:600;color:var(--loader-text, #0f172a)}.market-loader__status{text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--loader-text, #0f172a)}.market-loader__percent{font-variant-numeric:tabular-nums;font-size:16px;color:var(--loader-text, #0f172a)}.market-loader__progress{width:100%;height:14px;background:#0f172a1f;border-radius:999px;overflow:hidden}.market-loader__progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--loader-accent, #2563eb),#38bdf8);transition:width .5s ease;animation:shimmer 1.8s linear infinite}@keyframes shimmer{0%{filter:brightness(.95)}50%{filter:brightness(1.25)}to{filter:brightness(.95)}}.transaction-row td{transition:background .2s ease}.primary-market-tabs .ant-tabs-nav,.primary-market-tabs .ant-tabs-ink-bar,.primary-market-tabs .ant-tabs-nav:before{transform:translateY(4px)!important}.transaction-row--buy td{background:#22c55e14}.transaction-row--sell td{background:#ef444414}.cmfa-header{position:relative;overflow:hidden}.cmfa-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(21,128,61,.18) 1px,transparent 1px),radial-gradient(rgba(21,128,61,.08) 1px,transparent 1px);background-size:180px 180px,120px 120px;background-position:0 0,40px 30px;opacity:.65;mix-blend-mode:normal;animation:cmfa-glitter 28s linear infinite;pointer-events:none}.cmfa-header:before{content:"";position:absolute;top:-60%;right:-10%;bottom:-60%;left:-10%;background:radial-gradient(circle,rgba(21,128,61,.12),transparent 65%);opacity:.2;animation:cmfa-shimmer 18s ease-in-out infinite;pointer-events:none}@keyframes cmfa-glitter{0%{background-position:0 0,40px 20px}50%{background-position:60px 40px,0 30px}to{background-position:0 0,40px 20px}}@keyframes cmfa-shimmer{0%{transform:rotate(0) translateY(0)}50%{transform:rotate(3deg) translateY(10%)}to{transform:rotate(0) translateY(0)}}.news-page{padding:6px 0 48px;min-height:calc(100vh - 200px);background:transparent}.news-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:2px;padding-top:2px}.news-title{font-size:28px;font-weight:700;color:#0f172a;margin-top:6px}.news-subtitle{color:#64748b;margin-top:6px}.news-region-toggle{display:flex;gap:8px;padding:4px;background:#e0f5f4;border-radius:999px;border:1px solid rgba(15,118,110,.12)}.news-region-controls{display:flex;align-items:center;gap:10px}.news-refresh-btn{border:none;background:#fff;width:36px;height:36px;border-radius:999px;font-weight:600;color:#0f172a;cursor:pointer;transition:all .2s ease;border:1px solid rgba(15,118,110,.16);display:inline-flex;align-items:center;justify-content:center}.news-refresh-btn:disabled{cursor:not-allowed;opacity:.6}.news-region-btn{border:none;background:transparent;padding:8px 14px;border-radius:999px;font-weight:600;color:#0f172a;cursor:pointer;transition:all .2s ease}.news-region-btn.is-active{background:#0f766e;color:#fff;box-shadow:0 8px 20px #0f766e40}.news-category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.news-category-btn{border:1px solid #e2e8f0;background:#fff;padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:600;font-size:13px;color:#0f172a;transition:all .2s ease}.news-category-btn.is-active{background:#f0fdfa;box-shadow:0 8px 18px #0f766e26}.news-category-dot{width:6px;height:6px;border-radius:999px}.news-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr);gap:20px;align-items:start}.news-main{display:flex;flex-direction:column;gap:18px}.news-hero{background:#fff;border-radius:18px;overflow:hidden;border:1px solid rgba(15,23,42,.05);box-shadow:0 18px 40px #0f172a14}.news-hero-media{position:relative;min-height:220px;background:linear-gradient(180deg,#6fe4de,#bdf4f6);background-size:cover;background-position:center}.news-hero-bubble{position:absolute;width:120px;height:120px;border-radius:50%;background:#ffffff8c;top:-30px;left:-30px;filter:blur(.4px)}.news-hero-tags{position:absolute;top:16px;left:16px;display:flex;gap:8px}.news-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#e2e8f0;color:#0f172a}.news-chip--hot{background:#ef4444;color:#fff}.news-chip[data-tone=stocks]{background:#16a34a26;color:#15803d}.news-chip[data-tone=forex]{background:#0284c726;color:#0369a1}.news-chip[data-tone=commodities]{background:#d977062e;color:#b45309}.news-chip[data-tone=crypto]{background:#ea580c2e;color:#c2410c}.news-hero-body{padding:20px 24px 24px}.news-hero-title{font-size:24px;font-weight:700;color:#0f172a}.news-hero-summary{margin-top:10px;color:#475569;line-height:1.6}.news-hero-meta{display:flex;align-items:center;gap:12px;margin-top:14px;color:#64748b;font-size:13px}.news-meta-divider{width:4px;height:4px;border-radius:999px;background:#cbd5f5}.news-hero-link{display:inline-flex;margin-top:12px;color:#0f766e;font-weight:700;text-decoration:none}.news-section{margin-top:4px}.news-refresh{margin:4px 0 14px;padding:12px 14px;border-radius:16px;border:1px solid rgba(15,118,110,.16);background:#fff;box-shadow:0 12px 24px #0f172a0f;display:flex;flex-direction:column;gap:8px}.news-refresh-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;color:#0f172a}.news-refresh-label{text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#0f766e}.news-refresh-percent{font-variant-numeric:tabular-nums;font-size:14px}.news-refresh-track{height:10px;border-radius:999px;background:#0f172a1f;overflow:hidden}.news-refresh-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#38bdf8);transition:width .4s ease}.news-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.news-section-title{font-size:18px;font-weight:700;color:#0f172a}.news-section-hint{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.news-section-link{border:none;background:transparent;color:#0f766e;font-weight:600;cursor:pointer}.news-card-list{display:flex;flex-direction:column;gap:14px}.news-card{display:flex;gap:16px;background:#fff;border-radius:16px;padding:14px;border:1px solid rgba(15,23,42,.05);box-shadow:0 10px 24px #0f172a0a}.news-card-thumb{width:120px;min-height:96px;border-radius:12px;background:linear-gradient(135deg,#d1f4f1,#f1f5f9);background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0}.news-card-thumb[data-tone=stocks]{background-image:linear-gradient(135deg,#16a34a33,#86efac99)}.news-card-thumb[data-tone=forex]{background-image:linear-gradient(135deg,#0284c733,#7dd3fc99)}.news-card-thumb[data-tone=commodities]{background-image:linear-gradient(135deg,#d9770633,#fde68ab3)}.news-card-thumb[data-tone=crypto]{background-image:linear-gradient(135deg,#ea580c33,#fed7aab3)}.news-card-body{flex:1;min-width:0}.news-card-meta{display:flex;align-items:center;gap:10px}.news-card-time{font-size:12px;color:#64748b}.news-card-title{margin-top:6px;font-size:16px;font-weight:700;color:#0f172a}.news-card-summary{margin-top:6px;color:#475569;font-size:14px;line-height:1.5;word-break:break-word}.news-summary-text,.news-summary-text.is-expanded{display:inline}.news-card-summary .news-summary-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.news-card-summary .news-summary-text.is-expanded{display:inline;-webkit-line-clamp:unset;overflow:visible}.news-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;color:#64748b;gap:12px}.news-card-link{color:#0f766e;text-decoration:none;font-weight:700}.news-latest{background:#fff;border-radius:18px;padding:18px;border:1px solid rgba(15,23,42,.05);box-shadow:0 16px 32px #0f172a0f}.news-latest-list{margin-top:12px;display:flex;flex-direction:column;gap:12px}.news-latest-card{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;border:1px solid rgba(15,23,42,.04);background:#f8fafc;text-decoration:none;color:inherit}.news-latest-thumb{width:72px;height:72px;border-radius:10px;background:linear-gradient(135deg,#d1f4f1,#f1f5f9);background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0}.news-latest-thumb[data-tone=stocks]{background-image:linear-gradient(135deg,#16a34a33,#86efac99)}.news-latest-thumb[data-tone=forex]{background-image:linear-gradient(135deg,#0284c733,#7dd3fc99)}.news-latest-thumb[data-tone=commodities]{background-image:linear-gradient(135deg,#d9770633,#fde68ab3)}.news-latest-thumb[data-tone=crypto]{background-image:linear-gradient(135deg,#ea580c33,#fed7aab3)}.news-latest-content{display:flex;flex-direction:column;flex:1;min-width:0}.news-summary-toggle{border:none;background:none;padding:0;margin-left:8px;color:#0f766e;font-weight:600;cursor:pointer}.news-latest-title{font-size:14px;font-weight:600;color:#0f172a;margin-top:6px;line-height:1.4}.news-latest-summary{margin-top:6px;font-size:12px;line-height:1.45;color:#64748b;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.news-latest-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.news-latest-source{font-size:12px;color:#64748b;margin-top:8px;align-self:flex-end;white-space:nowrap}.news-loading{display:flex;justify-content:center;align-items:center;padding:48px 0;min-height:50vh;background:#f1f5f9}.news-empty{padding:18px;border-radius:12px;background:#f8fafc;color:#64748b;text-align:center}.budget-logo-loader{--budget-loader-size: 84px;--budget-loader-dot-size: 8px;--budget-loader-radius: 30px;width:var(--budget-loader-size);height:var(--budget-loader-size);position:relative;border-radius:14px;background:linear-gradient(135deg,#22c55e,#0ea5e9);box-shadow:0 12px 24px #0e749038}.budget-logo-loader>span{position:absolute;top:50%;left:50%;width:var(--budget-loader-dot-size);height:var(--budget-loader-dot-size);margin-top:calc(var(--budget-loader-dot-size) / -2);margin-left:calc(var(--budget-loader-dot-size) / -2);border-radius:999px;background:#fff;opacity:.24;transform:rotate(calc(var(--budget-loader-index) * 22.5deg)) translateY(calc(var(--budget-loader-radius) * -1)) scale(.72);animation:budget-logo-loader-dot 1.2s linear infinite;animation-delay:calc(var(--budget-loader-index) * 75ms)}.budget-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.budget-calendar-empty{min-height:520px;display:grid;place-items:center}.budget-calendar-month-view{border-radius:16px;overflow:hidden;border:1px solid #e2e8f0;background:radial-gradient(circle at 100% 0%,rgba(148,163,184,.12),transparent 42%),linear-gradient(180deg,#f8fafcf2,#fff 46%,#f8fafcf0)}.budget-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e2e8f0e6;border-bottom:1px solid #e2e8f0}.budget-calendar-weekdays>span{padding:10px 6px;text-align:center;background:#f8fafcfa;font-size:13px;color:#475569;font-weight:600}.budget-calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e2e8f0e6}.budget-calendar-day-cell{border:none;margin:0;background:#fff;min-height:106px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:background .18s ease,box-shadow .18s ease;position:relative}.budget-calendar-day-cell:hover,.budget-calendar-day-cell.is-outside{background:#f8fafc}.budget-calendar-day-cell.is-selected{box-shadow:inset 0 0 0 2px #3b82f6;z-index:1}.budget-calendar-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.budget-calendar-day-number{width:25px;height:25px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#0f172a}.budget-calendar-day-cell.is-outside .budget-calendar-day-number{color:#94a3b8}.budget-calendar-day-cell.is-today .budget-calendar-day-number{background:#ef4444;color:#fff}.budget-calendar-day-total{font-size:11px;font-weight:700;color:#0f766e;line-height:1.2;max-width:68%;text-align:right}.budget-calendar-day-total.is-income{color:#0f766e}.budget-calendar-day-total.is-expense{color:#b91c1c}.budget-calendar-day-total.is-mixed{color:#334155}.budget-calendar-day-items{display:flex;flex-direction:column;gap:4px;min-height:0}.budget-calendar-pill{display:inline-block;padding:3px 7px;border-radius:999px;font-size:11px;line-height:1.3;color:#334155;background:#94a3b824;border:1px solid rgba(148,163,184,.22);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-calendar-pill.is-income{color:#047857;background:#10b98129;border-color:#10b98147}.budget-calendar-pill.is-expense{color:#b45309;background:#f59e0b2e;border-color:#f59e0b4d}.budget-calendar-pill.is-recorded{font-weight:600;box-shadow:inset 0 0 0 1px #ffffff59}.budget-calendar-pill.is-recorded.is-income{background:#10b98133;border-color:#05966959}.budget-calendar-pill.is-recorded.is-expense{background:#f9731633;border-color:#ea580c57}.budget-calendar-more{font-size:11px;color:#64748b;font-weight:600}.budget-calendar-window-tabs .ant-tabs-nav{margin:0 0 10px}.budget-calendar-window-tabs .ant-tabs-nav:before{border-bottom:1px solid #dbe4f0!important}.budget-calendar-window-tabs .ant-tabs-nav-wrap{width:auto}.budget-calendar-window-tabs .ant-tabs-nav-list{gap:14px}.budget-calendar-window-tabs .ant-tabs-tab{margin:0!important;padding:8px 0 10px!important}.budget-calendar-window-tabs .ant-tabs-tab-btn{color:#475569;font-weight:600}.budget-calendar-window-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#2563eb!important}.budget-calendar-window-tabs .ant-tabs-tab:hover .ant-tabs-tab-btn{color:#1d4ed8}.budget-calendar-window-tabs .ant-tabs-ink-bar{height:3px!important;border-radius:999px;background:#2563eb!important}.budget-calendar-window-tab-label{display:inline-flex;align-items:center;gap:6px}.budget-calendar-window-tab-label .anticon{font-size:13px}.budget-calendar-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.budget-year-month{border:1px solid #e2e8f0;border-radius:14px;padding:10px 10px 12px;background:linear-gradient(180deg,#f8fafce6,#fff 45%,#f8fafceb);box-shadow:0 6px 18px #0f172a0d}.budget-year-month-title{border:none;background:transparent;color:#ef4444;font-size:22px;font-weight:500;padding:0 0 8px;margin:0;cursor:pointer;text-align:left}.budget-year-weekdays,.budget-year-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.budget-year-weekdays{margin-bottom:4px}.budget-year-weekdays>span{text-align:center;font-size:11px;color:#64748b;font-weight:600}.budget-year-day{position:relative;border:none;border-radius:6px;background:transparent;color:#0f172a;font-size:14px;line-height:1;min-height:24px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.budget-year-day:hover{background:#3b82f61f}.budget-year-day.is-outside{color:#94a3b8}.budget-year-day.is-today{background:#ef4444;color:#fff;border-radius:999px}.budget-year-day.has-due i{position:absolute;bottom:2px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:999px;background:#f59e0b}.budget-year-day.is-today.has-due i{background:#fff}.budget-upcoming-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:linear-gradient(125deg,#f8fafcf2,#fff 74%)}.budget-upcoming-item.is-income{border-left:4px solid rgba(16,185,129,.9);background:linear-gradient(90deg,rgba(16,185,129,.07) 0%,rgba(16,185,129,.01) 18%,transparent 36%),linear-gradient(125deg,#f8fafcf2,#fff 74%)}.budget-upcoming-item.is-expense{border-left:4px solid rgba(234,88,12,.9);background:linear-gradient(90deg,rgba(249,115,22,.08) 0%,rgba(249,115,22,.01) 18%,transparent 36%),linear-gradient(125deg,#f8fafcf2,#fff 74%)}.budget-selected-day-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-selected-day-stat{border:1px solid rgba(148,163,184,.28);border-radius:10px;background:linear-gradient(180deg,#f8fafceb,#fff);padding:8px 10px;display:flex;flex-direction:column;gap:4px}@media (max-width: 1400px){.budget-calendar-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1180px){.budget-calendar-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.budget-calendar-empty{min-height:420px}.budget-calendar-day-cell{min-height:90px;padding:6px;gap:6px}.budget-calendar-day-total{font-size:10px}.budget-calendar-pill{font-size:10px;padding:2px 6px}.budget-selected-day-stats,.budget-calendar-year-grid{grid-template-columns:minmax(0,1fr)}.budget-year-month-title{font-size:18px}}@keyframes budget-logo-loader-dot{0%,39%,to{opacity:.24;transform:rotate(calc(var(--budget-loader-index) * 22.5deg)) translateY(calc(var(--budget-loader-radius) * -1)) scale(.72)}40%{opacity:1;transform:rotate(calc(var(--budget-loader-index) * 22.5deg)) translateY(calc(var(--budget-loader-radius) * -1)) scale(1)}}@media (max-width: 980px){.news-grid{grid-template-columns:1fr}.news-latest{order:2}}@media (max-width: 640px){.news-title{font-size:22px}.news-hero-title{font-size:20px}.news-card{flex-direction:column}.news-card-thumb{width:100%;min-height:160px}}
