:root{--bg: #070d19;--bg-soft: #0c1323;--panel: #10192c;--panel-soft: #141f38;--panel-muted: #0d1424;--border: #22304d;--text: #f5f8ff;--muted: #86a0cf;--blue: #4985ff;--blue-2: #6783f0;--green: #1fe26c;--red: #ff4343;--orange: #ffb020;--sidebar-width: 310px;--radius-xl: 8px;--radius-lg: 8px;--radius-md: 8px;--shadow: 0 20px 50px rgba(0, 0, 0, .24)}html[data-theme=light]{--bg: #edf3fb;--bg-soft: #f6f9fe;--panel: #ffffff;--panel-soft: #f4f7fc;--panel-muted: #eef3fb;--border: #d5e0f0;--text: #14233d;--muted: #5e7398;--blue: #2f6df6;--blue-2: #5d8cff;--green: #0fa958;--red: #d73939;--orange: #d68b18;--shadow: 0 18px 40px rgba(39, 62, 109, .12)}html[data-theme=rose]{--bg: #180d18;--bg-soft: #241321;--panel: #2a1728;--panel-soft: #372034;--panel-muted: #21111f;--border: #613053;--text: #fff5fb;--muted: #d9a8c5;--blue: #ff6fae;--blue-2: #f79ac6;--green: #59d7a3;--red: #ff5a71;--orange: #ffc46b;--shadow: 0 20px 48px rgba(75, 19, 54, .32)}html[data-theme=forest]{--bg: #07130f;--bg-soft: #0d1d17;--panel: #10251d;--panel-soft: #173428;--panel-muted: #0c1b15;--border: #295846;--text: #f1fff9;--muted: #8fc7ad;--blue: #2dd4bf;--blue-2: #65d68f;--green: #54e38d;--red: #ff6b79;--orange: #f5c451;--shadow: 0 20px 48px rgba(4, 45, 31, .3)}html[data-theme=sunrise]{--bg: #191008;--bg-soft: #26180d;--panel: #2d1d11;--panel-soft: #3d2918;--panel-muted: #211309;--border: #684528;--text: #fff7ed;--muted: #e7b98e;--blue: #ff9f43;--blue-2: #ff6b6b;--green: #77dd8b;--red: #ff4f5e;--orange: #ffd166;--shadow: 0 20px 48px rgba(87, 43, 8, .34)}html[data-theme=citrus]{--bg: #17170a;--bg-soft: #20230e;--panel: #282b12;--panel-soft: #373b19;--panel-muted: #1d200c;--border: #5b642a;--text: #fffff0;--muted: #cfd889;--blue: #eab308;--blue-2: #84cc16;--green: #4ade80;--red: #f95d6a;--orange: #f59e0b;--shadow: 0 20px 48px rgba(67, 74, 10, .3)}html[data-theme=glacier]{--bg: #eaf6fb;--bg-soft: #f7fcff;--panel: #ffffff;--panel-soft: #edf8fc;--panel-muted: #e3f1f8;--border: #bfd8e7;--text: #103042;--muted: #51778e;--blue: #0ea5e9;--blue-2: #22c7c7;--green: #059669;--red: #d93b4a;--orange: #ca8a04;--shadow: 0 18px 42px rgba(33, 99, 132, .14)}html[data-theme=violet]{--bg: #100d1c;--bg-soft: #171329;--panel: #1e1934;--panel-soft: #292345;--panel-muted: #171225;--border: #493d76;--text: #f8f5ff;--muted: #b7a9dd;--blue: #8b5cf6;--blue-2: #38bdf8;--green: #34d399;--red: #fb7185;--orange: #fbbf24;--shadow: 0 20px 48px rgba(34, 20, 79, .34)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,sans-serif}body{overflow-x:hidden;transition:background .2s ease,color .2s ease;user-select:none;-webkit-user-select:none}body:has(.budget-modal-backdrop),body:has(.income-modal-backdrop),body:has(.wallet-modal-backdrop),body:has(.objective-modal-backdrop),body:has(.detail-overlay),body:has(.confirm-overlay),body:has(.modal-backdrop),body:has(.settings-modal-backdrop),body:has(.item-modal-backdrop),body:has(.confirm-modal-backdrop),body:has(.delete-wallet-backdrop),body:has(.wallet-type-backdrop),body:has(.goal-transfer-backdrop){overflow:hidden}button,input,select,textarea{font:inherit;min-width:0}input,textarea,.metric-value,.balance-focus strong,.budget-mini-card strong,.goal-copy strong,.expense-actions strong,.detail-tile strong,.month-total-pill strong,.stat-strip .metric-value,.wallet-value,.wallet-value-row strong,.wallet-amount>strong,.asset-value,.asset-values strong,.asset-performance-card strong,.asset-performance-card small,.distribution-layout strong,.chart-tooltip strong,.money-value,[data-selectable=price]{user-select:text;-webkit-user-select:text}img,svg{max-width:100%}a{color:inherit;text-decoration:none}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}*{scrollbar-color:color-mix(in srgb,var(--blue) 58%,var(--panel-soft)) color-mix(in srgb,var(--panel) 94%,transparent);scrollbar-width:thin}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 94%,transparent);border-radius:999px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 68%,#8db7ff),color-mix(in srgb,var(--panel-soft) 74%,#4b6fbf));border:2px solid color-mix(in srgb,var(--panel) 94%,transparent);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 82%,white),color-mix(in srgb,var(--blue-2) 70%,var(--panel-soft)))}.compact-scroll-panel{scrollbar-color:color-mix(in srgb,var(--blue) 45%,var(--panel-soft)) color-mix(in srgb,var(--panel) 94%,transparent);scrollbar-width:thin}.compact-scroll-panel::-webkit-scrollbar{width:10px}.compact-scroll-panel::-webkit-scrollbar-track{background:color-mix(in srgb,var(--panel) 94%,transparent);border-radius:999px}.compact-scroll-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 68%,#8db7ff),color-mix(in srgb,var(--panel-soft) 74%,#4b6fbf));border:2px solid color-mix(in srgb,var(--panel) 94%,transparent);border-radius:999px}.compact-scroll-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--blue) 82%,white),color-mix(in srgb,var(--blue-2) 70%,var(--panel-soft)))}.page-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr;background:radial-gradient(circle at top right,color-mix(in srgb,var(--blue) 10%,transparent),transparent 22%),linear-gradient(180deg,var(--bg) 0%,var(--bg-soft) 100%)}.content-area{min-width:0;overflow-x:hidden;padding:32px 34px}.page-title{margin:0;font-family:Manrope,sans-serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;letter-spacing:-.03em}.page-subtitle{margin:6px 0 28px;color:var(--muted);font-size:1.05rem}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.card{min-width:0;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%,transparent),color-mix(in srgb,var(--panel-soft) 98%,transparent));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow)}.inner-card{background:color-mix(in srgb,var(--panel-soft) 78%,transparent);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:var(--radius-lg)}.grid-2,.grid-3,.grid-4{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.section-card{padding:28px}.section-title{margin:0 0 20px;font-size:1.15rem;font-weight:800}.metric-card{padding:28px 24px;display:flex;align-items:center;gap:18px}.metric-icon,.list-icon,.nav-badge{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 18%,var(--panel-soft));color:var(--blue)}.metric-label{color:var(--muted);font-size:.95rem}.metric-value{margin-top:6px;font-size:1.95rem;font-weight:800}.text-blue{color:var(--blue)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-muted{color:var(--muted)}.page-loading-card{min-height:260px;display:grid;place-items:center}.page-skeleton-shell{display:grid;gap:24px;align-content:start}.page-skeleton-header{display:grid;gap:12px}.page-skeleton-title{width:min(420px,72%);height:clamp(38px,5vw,54px)}.page-skeleton-subtitle{width:min(640px,88%);height:18px}.page-skeleton-grid{display:grid;gap:18px}.page-skeleton-grid.metrics-4{grid-template-columns:repeat(4,minmax(0,1fr))}.page-skeleton-grid.metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))}.page-skeleton-grid.split-main{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr)}.page-skeleton-grid.split-equal{grid-template-columns:repeat(2,minmax(0,1fr))}.page-skeleton-grid.toolbar-4{grid-template-columns:repeat(4,minmax(0,1fr))}.page-skeleton-card{min-width:0;height:120px}.page-skeleton-card.tall{height:320px}.page-skeleton-card.hero{height:248px}.page-skeleton-card.list{height:136px}.page-skeleton-card.tabs{height:62px}.page-skeleton-card.banner{height:190px}.skeleton-block{display:block;position:relative;overflow:hidden;border-radius:var(--radius-lg);background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text) 10%,transparent) 48%,transparent 100%),color-mix(in srgb,var(--panel-soft) 72%,var(--panel));border:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.skeleton-block:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,white 14%,transparent),transparent);animation:skeleton-shimmer 1.45s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.global-loading-skeleton{width:min(100vw - 32px,1440px)}.skeleton-auth-shell{min-height:calc(100vh - 32px);display:grid;place-items:center}.skeleton-auth-card{width:min(100%,580px);padding:28px;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid color-mix(in srgb,var(--border) 76%,transparent);display:grid;gap:16px;box-shadow:var(--shadow)}.skeleton-app-shell{min-height:calc(100vh - 32px);display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:24px}.skeleton-sidebar,.skeleton-content{min-width:0;border-radius:var(--radius-xl)}.skeleton-sidebar{padding:24px;background:color-mix(in srgb,var(--panel) 96%,transparent);border:1px solid color-mix(in srgb,var(--border) 76%,transparent);display:grid;grid-template-rows:auto 1fr auto;gap:24px}.skeleton-content{padding:24px;display:grid;align-content:start;gap:18px}.skeleton-row{display:flex;align-items:center;gap:14px}.skeleton-brand-row{min-height:56px}.skeleton-logo{width:48px;height:48px;border-radius:8px}.skeleton-brand-text{width:140px;height:26px}.skeleton-title{width:min(420px,72%);height:clamp(36px,5vw,54px)}.skeleton-title.short{width:min(260px,65%)}.skeleton-subtitle,.skeleton-text{width:min(520px,82%);height:18px}.skeleton-tabs,.skeleton-tabs-bar,.skeleton-input,.skeleton-button{width:100%;height:56px}.skeleton-button.ghost{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--text) 8%,transparent) 48%,transparent 100%),color-mix(in srgb,var(--panel-muted) 92%,transparent)}.skeleton-divider{width:120px;height:14px;justify-self:center}.skeleton-nav{display:grid;gap:12px}.skeleton-nav-item{width:100%;height:56px}.skeleton-profile-card{width:100%;height:84px}.skeleton-grid{display:grid;gap:18px}.skeleton-grid-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-grid-main{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr)}.skeleton-grid-actions,.skeleton-grid-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.skeleton-grid-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.skeleton-metric-card,.skeleton-action-card,.skeleton-filter{height:112px}.skeleton-score-card,.skeleton-chart-card,.skeleton-hero-card{height:320px}.skeleton-tabs-bar{margin-top:6px}.skeleton-list{display:grid;gap:14px}.skeleton-list-item{width:100%;height:136px}@media (max-width: 1080px){.skeleton-app-shell{grid-template-columns:1fr}.skeleton-sidebar{display:none}.skeleton-grid-metrics,.skeleton-grid-toolbar,.skeleton-grid-actions,.skeleton-grid-main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.global-loading-skeleton{width:calc(100vw - 20px)}.skeleton-auth-card,.skeleton-content{padding:18px}.skeleton-grid-metrics,.skeleton-grid-toolbar,.skeleton-grid-actions,.skeleton-grid-main{grid-template-columns:1fr}.skeleton-score-card,.skeleton-chart-card,.skeleton-hero-card,.skeleton-list-item{height:180px}}.loading-spinner{width:58px;height:58px;border-radius:50%;border:4px solid color-mix(in srgb,var(--border) 72%,transparent);border-top-color:var(--green);border-right-color:var(--blue);box-shadow:0 18px 48px color-mix(in srgb,var(--blue) 20%,transparent);animation:loadingSpin .82s linear infinite}.page-loading-card .loading-spinner{opacity:0;animation:loadingSpin .82s linear infinite,loadingFadeIn .01s linear 1s forwards}@keyframes loadingSpin{to{transform:rotate(360deg)}}@keyframes loadingFadeIn{to{opacity:1}}.finance-input,.finance-select{width:100%;border:1px solid var(--border);background:var(--panel-muted);color:var(--text);border-radius:8px;padding:16px 18px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.finance-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 22px) calc(50% - 3px),calc(100% - 16px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:42px}.finance-select option{background:var(--panel);color:var(--text)}.finance-input::placeholder,.finance-select::placeholder{color:color-mix(in srgb,var(--muted) 88%,white 12%)}.finance-input:focus,.finance-select:focus{border-color:#608dffe6;box-shadow:0 0 0 4px #4985ff26;transform:translateY(-1px)}.primary-btn,.secondary-btn,.danger-btn,.ghost-btn{border:0;border-radius:8px;padding:14px 18px;cursor:pointer;font-weight:700;transition:transform .16s ease,opacity .16s ease}.primary-btn{background:linear-gradient(90deg,var(--blue),var(--blue-2));color:#fff}.secondary-btn{background:color-mix(in srgb,var(--panel-soft) 96%,transparent);color:var(--text);border:1px solid var(--border)}.danger-btn{background:transparent;color:var(--red);border:1px solid color-mix(in srgb,var(--red) 50%,transparent)}.ghost-btn{background:transparent;color:var(--muted);border:1px solid color-mix(in srgb,var(--muted) 35%,transparent)}.primary-btn:hover,.secondary-btn:hover,.danger-btn:hover,.ghost-btn:hover{transform:translateY(-1px)}.badge-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;background:color-mix(in srgb,var(--panel-soft) 88%,transparent);color:var(--muted);font-size:.85rem}.hero-banner{padding:30px;background:linear-gradient(90deg,var(--blue) 0%,var(--blue-2) 100%);color:#fff}.hero-banner strong{display:block;font-size:clamp(2rem,5vw,3.2rem);margin:10px 0}.ring-wrap{display:grid;place-items:center;margin:14px auto 0}.score-ring{width:174px;height:174px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) 0deg,var(--blue) calc(var(--progress) * 1deg),color-mix(in srgb,var(--panel-soft) 95%,transparent) calc(var(--progress) * 1deg))}.score-ring:before{content:"";width:150px;height:150px;border-radius:50%;background:var(--panel);border:1px solid color-mix(in srgb,var(--border) 82%,transparent)}.score-content{position:absolute;text-align:center}.score-content .score-number{font-size:3rem;font-weight:800}.chart-grid{display:grid;gap:24px;align-items:stretch}.line-chart{width:100%;min-height:320px}.summary-list,.expense-list,.advice-list,.practice-grid{display:grid;gap:16px}.summary-item,.expense-item,.advice-item,.practice-card,.stat-strip{padding:18px 20px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--panel-soft) 78%,transparent);border:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.summary-item,.expense-item{display:flex;align-items:center;justify-content:space-between;gap:16px}.expense-main{display:flex;align-items:center;gap:14px;min-width:0;max-width:100%}.expense-logo{width:46px;height:46px;border-radius:8px;background:color-mix(in srgb,var(--panel-soft) 92%,transparent);display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--blue) 18%,transparent)}.expense-logo img{width:24px;height:24px;object-fit:contain}.expense-logo span{color:currentColor;font-weight:800}.expense-tags{display:flex;flex-wrap:wrap;gap:8px}.small-tag{padding:5px 10px;border-radius:999px;font-size:.78rem;color:var(--text);background:color-mix(in srgb,var(--panel-muted) 95%,transparent)}.two-col-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.catalog-item{padding:18px;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);background:color-mix(in srgb,var(--panel) 96%,transparent);display:flex;flex-direction:column;gap:14px}.drop-area{padding:18px;border-radius:8px;border:1px dashed color-mix(in srgb,var(--blue) 60%,transparent);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--panel) 88%,transparent)}.drop-area.active{background:color-mix(in srgb,var(--blue) 16%,var(--panel));border-color:var(--blue)}.toolbar{display:grid;grid-template-columns:1fr 220px;gap:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 55%,transparent)}.table th{color:var(--muted);font-weight:600}.mobile-topbar{display:none;position:sticky;top:0;z-index:30;padding:14px 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 86%,transparent);backdrop-filter:blur(18px)}@media (max-width: 1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.two-col-layout,.chart-grid{grid-template-columns:1fr}.page-skeleton-grid.metrics-4,.page-skeleton-grid.toolbar-4{grid-template-columns:repeat(2,minmax(0,1fr))}.page-skeleton-grid.metrics-3,.page-skeleton-grid.split-main,.page-skeleton-grid.split-equal{grid-template-columns:1fr}}@media (max-width: 940px){.page-shell{grid-template-columns:1fr}.mobile-topbar{display:flex;align-items:center;justify-content:space-between}.content-area{padding:20px 16px 110px}.toolbar,.grid-2,.grid-4{grid-template-columns:1fr;gap:6px}}@media (max-width: 640px){.section-card{padding:20px}.metric-card{padding:22px 18px}.summary-item,.expense-item{flex-direction:column;align-items:flex-start}.expense-main{width:100%}.table{display:block;overflow-x:auto;white-space:nowrap}.page-heading>*{width:100%}.page-skeleton-shell{gap:18px}.page-skeleton-grid.metrics-4,.page-skeleton-grid.metrics-3,.page-skeleton-grid.toolbar-4{grid-template-columns:1fr}.page-skeleton-card.tall{height:220px}.page-skeleton-card.hero{height:180px}}@media (max-width: 520px){:root{--radius-xl: 8px;--radius-lg: 8px}.content-area{padding:18px 12px 96px}.mobile-topbar{padding:12px}.page-title{font-size:clamp(1.7rem,11vw,2.15rem)}.page-subtitle{font-size:.96rem}.section-card,.hero-banner{padding:18px}.primary-btn,.secondary-btn,.danger-btn,.ghost-btn{min-height:44px;padding:12px 14px}.score-ring{width:146px;height:146px}.score-ring:before{width:124px;height:124px}.score-content .score-number{font-size:2.35rem}.line-chart{min-height:260px}}
