@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans SC,Microsoft YaHei UI,sans-serif;color:#101a2d;background:#f6f8fb;font-synthesis:none;--blue: #1769e0;--blue-strong: #0f5bd5;--blue-soft: #eef5ff;--green: #13a895;--green-soft: #e9f8f5;--red: #ed6353;--red-soft: #fff0ed;--amber: #e89320;--amber-soft: #fff7e8;--purple: #6754ca;--cyan: #2aaed4;--ink: #101a2d;--muted: #69768a;--line: #e3e8ef;--surface: #ffffff;--shadow: 0 5px 18px rgba(24, 49, 83, .06), 0 1px 2px rgba(24, 49, 83, .04)}*{box-sizing:border-box}html{background:#f6f8fb;overflow-x:hidden}body{margin:0;min-width:320px;max-width:100%;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{max-width:100%;overflow-x:hidden}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(23,105,224,.18);outline-offset:2px}.app-shell{min-height:100vh;background:#f7f9fc}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:212px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #dde4ec}.brand{height:88px;padding:0 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf0f4}.brand>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#1769e0;color:#fff;box-shadow:0 5px 12px #1769e038}.brand div{display:flex;flex-direction:column;gap:2px}.brand b{font-size:17px;letter-spacing:.02em}.brand small{font-size:9px;letter-spacing:.1em;color:#8c98a9}.sidebar nav{display:flex;flex-direction:column;gap:6px;padding:24px 10px}.sidebar nav button{border:0;background:transparent;display:flex;align-items:center;gap:13px;min-height:52px;padding:0 15px;border-radius:8px;color:#1d2a40;cursor:pointer;font-size:15px;font-weight:500;text-align:left;transition:.18s ease}.sidebar nav button:hover{background:#f5f8fc;color:var(--blue)}.sidebar nav button.active{background:#edf4ff;color:var(--blue);box-shadow:inset 0 0 0 1px #d8e7ff}.sidebar-foot{margin-top:auto;padding:14px 12px 20px;border-top:1px solid #edf0f4}.data-health{display:flex;gap:9px;padding:10px;background:#f3faf7;border-radius:9px;color:#128672}.data-health div{display:flex;flex-direction:column;gap:1px}.data-health b{font-size:12px}.data-health small{color:#76958f;font-size:10px}.help-button{width:100%;margin-top:8px;border:0;background:transparent;color:#68758a;display:flex;align-items:center;gap:9px;padding:10px;cursor:pointer}.workspace{min-height:100vh;margin-left:212px}.topbar{height:88px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fffffff5;border-bottom:1px solid #e5e9ef;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title{display:flex;align-items:center;gap:12px}.topbar-title>div{display:flex;flex-direction:column}.topbar-title span{font-size:10px;color:#8591a3;letter-spacing:.12em}.topbar-title h1{font-size:28px;line-height:1.2;margin:3px 0 0;letter-spacing:-.035em}.topbar-actions{display:flex;align-items:center;gap:10px}.date-button,.notification-button,.profile-button,.mobile-menu{border:0;background:#fff;cursor:pointer}.date-button{display:flex;align-items:center;gap:8px;color:#2d394b;padding:10px 11px;border-radius:8px}.date-button:hover{background:#f4f6f9}.notification-button{width:40px;height:40px;display:grid;place-items:center;position:relative;border-radius:9px}.notification-button:hover{background:#f4f6f9}.notification-button i{position:absolute;right:4px;top:1px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#ef4949;color:#fff;font:700 10px/1 Noto Sans SC}.profile-wrap{position:relative}.profile-button{display:flex;align-items:center;gap:9px;padding:4px 5px 4px 7px;border-radius:10px}.profile-button:hover{background:#f5f7fa}.profile-button>span{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:#123e85;border-radius:50%;font-size:13px}.profile-button>div{display:flex;flex-direction:column;align-items:flex-start}.profile-button b{font-size:12px}.profile-button small{color:#8792a3;font-size:10px}.profile-menu{position:absolute;right:0;top:50px;width:184px;padding:8px;background:#fff;border:1px solid #e1e6ed;border-radius:10px;box-shadow:0 18px 42px #1f304d29}.profile-menu p{margin:6px 9px 7px;font-size:11px;color:#8994a4}.profile-menu button{width:100%;border:0;background:transparent;border-radius:7px;padding:9px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px}.profile-menu button:hover,.profile-menu button.active{background:#f0f5fd;color:var(--blue)}.profile-menu hr{border:0;border-top:1px solid #edf0f4;margin:7px 0}.mobile-menu{display:none;width:38px;height:38px;place-items:center;border-radius:8px}.button{border:1px solid #dce2ea;background:#fff;min-height:40px;border-radius:8px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:500;font-size:13px;cursor:pointer;transition:.18s ease}.button:hover{transform:translateY(-1px);box-shadow:0 6px 14px #19305214}.button.primary{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 5px 12px #1769e029}.button.primary:hover{background:var(--blue-strong)}.button.ghost{background:#fff}.button.small{min-height:34px;padding:0 11px;font-size:12px}.content{padding:20px 28px 22px;max-width:1660px;margin:0 auto}.page-stack{display:flex;flex-direction:column;gap:16px;animation:page-in .32s ease both}.dashboard-page{margin-top:-18px}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.panel{min-width:0;background:#fff;border:1px solid #e2e7ee;border-radius:11px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 20px 8px}.panel-heading.compact{padding-bottom:14px;border-bottom:1px solid #edf0f4}.panel-heading h2{margin:2px 0 0;font-size:17px;letter-spacing:-.02em}.eyebrow{font-size:10px;color:#8995a5;letter-spacing:.11em;text-transform:uppercase}.text-button,.link-button{border:0;background:transparent;color:var(--blue);cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:12px}.alert-strip{width:100%;border:1px solid #ffd7ba;background:#fff8f2;color:#f06b19;border-radius:8px;min-height:54px;padding:0 18px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.alert-strip span{display:flex;align-items:center;gap:10px;font-weight:600;font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-card{position:relative;min-height:158px;background:#fff;border:1px solid #e2e7ee;border-radius:11px;padding:24px 20px;display:flex;align-items:flex-start;gap:17px;box-shadow:var(--shadow);text-align:left;cursor:pointer}.kpi-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;flex:0 0 auto}.kpi-icon.blue{color:var(--blue);background:#eaf2ff}.kpi-icon.green{color:var(--green);background:var(--green-soft)}.kpi-icon.purple{color:var(--purple);background:#f0edff}.kpi-icon.cyan{color:var(--cyan);background:#e9f8fc}.kpi-content{display:flex;flex-direction:column;min-width:0}.kpi-content>span{color:#58657a;font-size:13px}.kpi-content strong{margin:7px 0 8px;font-size:clamp(25px,2.4vw,34px);letter-spacing:-.04em;white-space:nowrap}.kpi-card:nth-child(1) strong{color:#1764d4}.kpi-card:nth-child(2) strong{color:#10a28e}.kpi-card:nth-child(3) strong{color:#6252bd}.kpi-card:nth-child(4) strong{color:#22a6cb}.kpi-content small{color:#8994a4;font-size:10px}.positive{color:var(--green)!important;font-style:normal;display:inline-flex;align-items:center;gap:2px}.danger-text{color:var(--red)!important}.chart-panel{min-height:372px}.period-tabs{display:flex;align-items:center;border:1px solid #e1e6ed;border-radius:7px;overflow:hidden}.period-tabs button{border:0;border-right:1px solid #e1e6ed;background:#fff;padding:7px 13px;font-size:11px;color:#637086;cursor:pointer}.period-tabs button:last-child{border-right:0}.period-tabs button.active{color:var(--blue);background:#f1f6ff;box-shadow:inset 0 0 0 1px var(--blue)}.chart-legend{padding:0 20px 8px;display:flex;gap:22px;color:#657288;font-size:11px}.chart-legend span{display:flex;align-items:center;gap:6px}.dot,.square{width:9px;height:9px;display:inline-block}.dot{border-radius:50%}.dot.blue{background:var(--blue)}.square.green{background:#29b6a8}.square.sky{background:#7bb9f2}.main-chart{height:278px;padding:0 12px 10px}.dashboard-bottom{min-width:0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.3fr);gap:16px}.budget-overview-body{display:grid;grid-template-columns:190px 1fr;gap:4px;padding:14px 18px 18px}.donut-wrap{position:relative;height:180px}.donut-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none}.donut-label strong{font-size:27px;color:#1f64da}.donut-label span{font-size:10px;color:#738095}.budget-facts{margin:0}.budget-facts>div{min-height:41px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;gap:12px}.budget-facts dt{color:#768297;font-size:11px}.budget-facts dd{margin:0;font-size:12px;font-weight:600;white-space:nowrap}.overview-v2{gap:14px}.overview-control-bar{min-height:88px;padding:15px 18px;border:1px solid #e1e7ef;border-radius:11px;background:#fff;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:18px}.overview-control-bar>div:first-child{display:flex;flex-direction:column}.overview-control-bar h2{margin:3px 0 2px;font-size:19px}.overview-control-bar small{color:#8290a2;font-size:10px}.overview-control-actions{display:flex;align-items:center;gap:8px}.overview-period-switch{display:flex;padding:4px;border-radius:9px;background:#f0f3f7}.overview-period-switch button{min-width:58px;min-height:34px;padding:0 11px;border:0;border-radius:7px;color:#647287;background:transparent;cursor:pointer;font-size:12px}.overview-period-switch button.active{color:#155fcf;background:#fff;box-shadow:0 2px 8px #1d395e1a;font-weight:650}.overview-kpi-grid .kpi-card{min-height:132px;padding:20px;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.overview-kpi-grid .kpi-card:hover{transform:translateY(-2px);border-color:#cddcf0;box-shadow:0 12px 26px #19315217}.overview-kpi-grid .kpi-icon{width:44px;height:44px}.overview-kpi-grid .kpi-content strong{margin:5px 0;font-size:clamp(23px,2vw,30px)}.overview-kpi-grid .kpi-arrow{position:absolute;top:18px;right:17px;color:#a0adbd}.kpi-icon.red{color:var(--red);background:var(--red-soft)}.overview-kpi-grid .kpi-card:nth-child(2) strong{color:#d8584c}.overview-kpi-grid .kpi-card:nth-child(3) strong{color:#119a87}.overview-primary-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.65fr);gap:14px}.overview-flow-panel,.overview-health-panel{min-height:390px}.overview-flow-panel .panel-heading{padding-bottom:0}.chart-legend.compact{padding:0;gap:14px}.overview-flow-chart{height:315px;padding:8px 14px 15px 2px}.overview-health-panel{display:flex;flex-direction:column}.health-donut-wrap{position:relative;height:190px;margin:4px 20px 0}.health-donut-wrap>div:last-child{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none}.health-donut-wrap strong{color:#1e61cb;font-size:24px}.health-donut-wrap span{margin-top:2px;color:#7a889b;font-size:10px}.health-facts{margin:auto 18px 16px;border-top:1px solid #edf0f4}.health-facts button{width:100%;min-height:43px;padding:0;border:0;border-bottom:1px solid #edf0f4;background:transparent;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.health-facts button:hover dd{color:var(--blue)}.health-facts dt{color:#788598;font-size:11px}.health-facts dd{margin:0;color:#25334a;font-size:12px;font-weight:650}.overview-ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ranking-panel{min-height:270px}.ranking-list{padding:11px 18px 16px}.ranking-list>button{width:100%;min-height:58px;padding:8px 3px;border:0;border-bottom:1px solid #edf0f4;background:transparent;display:grid;grid-template-columns:28px minmax(90px,.8fr) minmax(120px,1.5fr) minmax(90px,auto);gap:10px;align-items:center;text-align:left;cursor:pointer}.ranking-list>button:last-child{border-bottom:0}.ranking-list>button:hover{background:#fafcff}.ranking-index{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;color:#376dc4;background:#edf4ff;font-size:10px;font-weight:700}.ranking-list b{overflow:hidden;text-overflow:ellipsis;color:#27354a;font-size:11px;white-space:nowrap}.ranking-list button>div{height:8px;overflow:hidden;border-radius:99px;background:#eef2f6}.ranking-list button>div i{display:block;height:100%;border-radius:inherit;background:#5f84ee}.expense-ranking .ranking-list button>div i{background:#f0a13a}.ranking-list strong{color:#40506a;font-size:11px;text-align:right}.ranking-list .empty-state{min-height:180px}.quarterly-panel{min-height:230px}.quarter-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:16px 18px 18px}.quarter-grid>button{min-height:130px;padding:10px 18px;border:0;border-right:1px solid #edf0f4;background:transparent;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;cursor:pointer}.quarter-grid>button:last-child{border-right:0}.quarter-grid>button:hover{background:#fafcff}.quarter-grid>button>div:first-child{display:flex;flex-direction:column}.quarter-grid span{color:#546278;font-size:12px}.quarter-grid strong{margin:8px 0 5px;color:#202e43;font-size:17px}.quarter-grid small{color:#8a96a6;font-size:9px}.quarter-donut{width:82px;height:82px;position:relative;flex:0 0 auto}.quarter-donut>b{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#5c6b7e;font-size:10px;pointer-events:none}.overview-operations-grid{display:grid;grid-template-columns:1fr 1.15fr .9fr;gap:14px}.overview-operations-grid>article{min-height:220px}.compact-progress-card{padding:20px;display:grid;grid-template-columns:1fr 45px;gap:12px;align-items:center}.compact-progress-card>div:first-child{grid-column:1 / -1;display:flex;flex-direction:column}.compact-progress-card span{color:#738096;font-size:10px}.compact-progress-card strong{margin:6px 0 3px;font-size:23px}.compact-progress-card small{color:#8b96a6;font-size:10px}.compact-progress-card .progress-track span{background:#236be4}.compact-progress-card>b{color:#3463aa;font-size:13px}.overview-account-list{padding:7px 18px 14px}.overview-account-list button{width:100%;min-height:42px;padding:0;border:0;border-bottom:1px solid #edf0f4;background:transparent;display:grid;grid-template-columns:8px 75px 1fr auto;gap:8px;align-items:center;cursor:pointer}.overview-account-list button:last-child{border-bottom:0}.overview-account-list>button>i{width:7px;height:7px;border-radius:50%}.overview-account-list button>span{color:#59677b;font-size:10px}.overview-account-list button>b{color:#2f3d52;font-size:10px}.overview-account-list .progress-track{height:5px}.risk-overview-body{padding:18px;display:flex;flex-direction:column}.risk-overview-body>strong{color:#d85b50;font-size:25px}.risk-overview-body>small{margin:4px 0 18px;color:#8a96a6;font-size:10px}.risk-overview-body button,.all-clear{min-height:39px;padding:0 10px;border:0;border-radius:8px;background:#fff3eb;color:#c86d28;display:flex;align-items:center;gap:7px;cursor:pointer;font-size:10px}.all-clear{color:#168272;background:#eef8f5}.recent-overview{min-height:280px}.recent-overview .table-wrap td{padding-block:10px}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.table-wrap th{background:#f5f7fa;color:#6a778a;font-size:10px;font-weight:500;padding:10px 14px}.table-wrap td{border-bottom:1px solid #edf0f4;color:#344155;font-size:11px;padding:11px 14px}.table-wrap tbody tr:hover{background:#fafcff}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap td.amber{color:var(--amber)}.table-wrap td.red{color:var(--red)}.mobile-fab{display:none}.summary-banner,.accounts-hero,.budget-hero{min-height:152px;border-radius:12px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:#123e85;box-shadow:0 10px 26px #123e8529}.summary-banner.expense{background:#7f3f48}.summary-banner>div,.accounts-hero>div,.budget-hero>div{display:flex;flex-direction:column}.summary-banner span,.accounts-hero span,.budget-hero span{opacity:.75;font-size:13px}.summary-banner strong,.accounts-hero strong,.budget-hero strong{margin:7px 0;font-size:36px;letter-spacing:-.03em}.summary-banner small,.accounts-hero small,.budget-hero small{opacity:.72}.summary-banner .button,.accounts-hero .button{background:#fff;color:#163e7b;border-color:#fff;box-shadow:none}.summary-banner .income-banner-facts{margin-left:auto;margin-right:36px;display:flex;flex-direction:row;gap:38px}.income-banner-facts>span{display:flex;flex-direction:column;opacity:1}.income-banner-facts small{font-size:11px}.income-banner-facts b{margin-top:5px;font-size:18px}.data-panel{min-height:480px}.toolbar{padding:14px 16px;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;gap:12px}.search-box{width:min(420px,100%);min-height:40px;display:flex;align-items:center;gap:8px;border:1px solid #dfe5ec;border-radius:8px;padding:0 12px;color:#8793a4;background:#fff}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01a}.search-box input{border:0;outline:0;flex:1;min-width:0;color:#1a2638}.toolbar-actions{display:flex;gap:8px}.filter-button{min-height:40px;padding:0 12px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;color:#536176;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.transaction-table td{padding-top:13px;padding-bottom:13px}.transaction-table b{font-weight:600;color:#202c3e}.type-pill,.status-badge,.risk-tag{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:5px;padding:0 8px;font-size:10px}.type-pill.income{color:#078b78;background:#e9f8f4}.type-pill.expense{color:#d55245;background:#fff0ed}.status-badge.completed{color:#168272;background:#eef8f5}.status-badge.pending{color:#c07912;background:#fff7e6}.amount{font-weight:700}.amount.income{color:#07917d}.amount.expense{color:#e1584a}.muted-cell{color:#8490a0!important;max-width:180px;overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:4px}.row-actions button,.icon-button{width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:#6a778a;display:grid;place-items:center;cursor:pointer}.row-actions button:hover,.icon-button:hover{background:#eef4fc;color:var(--blue)}.row-actions button:last-child:hover{color:var(--red);background:#fff0ee}.income-table table{min-width:980px}.primary-secondary,.service-preview{display:flex;flex-direction:column;gap:3px}.primary-secondary small,.service-preview small{color:#8793a4;font-size:9px}.amount.outstanding{color:#c77a13}.empty-state{min-height:360px;display:grid;place-content:center;justify-items:center;color:#8b96a6}.empty-state p{margin:10px 0 0}.account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.account-card{min-height:190px;padding:20px;background:#fff;border:1px solid #e2e7ee;border-radius:11px;box-shadow:var(--shadow)}.account-card-top{display:flex;align-items:center;gap:12px}.account-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:#fff}.account-card-top div{display:flex;flex-direction:column;min-width:0}.account-card-top b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-card-top small{margin-top:2px;color:#8994a4;font-size:10px}.account-card>strong{display:block;margin:24px 0 18px;font-size:25px}.account-meta{display:flex;justify-content:space-between;gap:8px;color:#778398;font-size:9px}.distribution-list{padding:8px 20px 18px}.distribution-row{min-height:60px;display:grid;grid-template-columns:12px 130px 1fr 120px;gap:12px;align-items:center;border-bottom:1px solid #edf0f4}.distribution-row:last-child{border-bottom:0}.account-dot{width:9px;height:9px;border-radius:50%}.distribution-row>div:not(.progress-track){display:flex;flex-direction:column}.distribution-row small{color:#8a96a5;font-size:10px}.distribution-row strong{text-align:right;font-size:13px}.progress-track,.budget-bar{height:7px;background:#eef1f5;border-radius:99px;overflow:hidden}.progress-track span,.budget-bar span{display:block;height:100%;border-radius:inherit}.mini-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-kpi-grid article{background:#fff;border:1px solid #e2e7ee;border-radius:11px;padding:19px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow)}.mini-icon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center}.mini-icon.blue{color:var(--blue);background:var(--blue-soft)}.mini-icon.red{color:var(--red);background:var(--red-soft)}.mini-icon.amber{color:var(--amber);background:var(--amber-soft)}.mini-kpi-grid article>div{display:flex;flex-direction:column}.mini-kpi-grid small{color:#728095}.mini-kpi-grid strong{margin:3px 0;font-size:22px}.mini-kpi-grid em{color:#8e99a8;font-size:10px;font-style:normal}.risk-tag.normal{color:#0e8b78;background:#eaf8f4}.risk-tag.danger{color:#d84b40;background:#ffefed}.budget-hero{background:#173d75;gap:30px}.hero-progress{width:min(420px,44%);display:grid;grid-template-columns:1fr 48px;gap:12px;align-items:center}.hero-progress>div{height:10px;border-radius:99px;background:#ffffff2e;overflow:hidden}.hero-progress span{display:block;height:100%;background:#55d1bd;opacity:1;border-radius:inherit}.hero-progress b{font-size:15px}.budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.budget-card{background:#fff;border:1px solid #e2e7ee;border-radius:11px;padding:18px;box-shadow:var(--shadow)}.budget-card-heading{display:flex;justify-content:space-between;align-items:center}.budget-card-heading>div{display:flex;align-items:center;gap:8px}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.healthy{background:var(--green)}.status-dot.warning{background:var(--amber)}.status-dot.over{background:var(--red)}.budget-card>strong{display:block;margin:24px 0 16px;font-size:22px}.budget-card>strong small{color:#8994a4;font-weight:400;font-size:11px}.budget-bar{height:8px}.budget-bar span.healthy{background:var(--green)}.budget-bar span.warning{background:var(--amber)}.budget-bar span.over{background:var(--red)}.budget-card-footer{margin-top:10px;display:flex;justify-content:space-between;color:#7c8899;font-size:10px}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-toolbar>div{display:flex;gap:8px}.report-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e2e7ee;border-radius:11px;background:#fff;box-shadow:var(--shadow)}.report-summary article{padding:20px;border-right:1px solid #edf0f4;display:flex;flex-direction:column}.report-summary article:last-child{border-right:0}.report-summary span{color:#778397;font-size:11px}.report-summary strong{margin:7px 0;font-size:23px}.report-summary small{font-size:10px}.report-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.category-chart{height:350px;padding:15px 18px 18px}.statement dl{margin:0;padding:8px 20px}.statement dl>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f4;font-size:12px}.statement dd{margin:0;font-weight:600}.statement-total{font-weight:700;font-size:13px!important}.report-insight{margin:12px 20px 20px;padding:15px;border-radius:8px;background:#eef8f5;color:#0f8e7b;display:flex;gap:10px}.report-insight p{margin:0;display:flex;flex-direction:column}.report-insight b{font-size:12px}.report-insight span{margin-top:3px;color:#658e87;font-size:10px}.settings-layout{display:grid;grid-template-columns:205px 1fr;gap:16px}.settings-nav{background:#fff;border:1px solid #e2e7ee;border-radius:11px;padding:9px;height:fit-content;box-shadow:var(--shadow)}.settings-nav button{width:100%;min-height:44px;border:0;border-radius:8px;background:transparent;display:flex;align-items:center;gap:9px;padding:0 12px;color:#526075;cursor:pointer}.settings-nav button.active,.settings-nav button:hover{background:#eef4fd;color:var(--blue)}.settings-content{display:flex;flex-direction:column;gap:14px}.settings-section{padding-bottom:15px}.member-list{padding:0 18px}.member-row{min-height:66px;display:grid;grid-template-columns:38px 1fr 135px 70px;gap:11px;align-items:center;border-bottom:1px solid #edf0f4}.member-row:last-child{border-bottom:0}.avatar{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:#315fa8;border-radius:50%;font-size:12px}.member-row>div{display:flex;flex-direction:column}.member-row b{font-size:12px}.member-row small{color:#8a96a6;font-size:10px}.member-row select{border:1px solid #dfe5ec;border-radius:7px;min-height:34px;padding:0 7px;background:#fff;font-size:11px}.member-status{font-size:10px;color:#198873}.member-status i{width:6px;height:6px;display:inline-block;margin-right:5px;border-radius:50%;background:#1bb495}.category-tags{display:flex;gap:8px;flex-wrap:wrap;padding:15px 18px}.category-tags button{border:1px solid #dfe5ec;background:#f9fafc;border-radius:7px;padding:7px 9px;display:flex;align-items:center;gap:5px;cursor:pointer;font-size:11px}.category-tags button:hover{border-color:#f0b8b1;color:var(--red)}.inline-add{display:flex;gap:8px;padding:0 18px}.inline-add input{min-height:36px;border:1px solid #dfe5ec;border-radius:7px;padding:0 10px;min-width:220px}.backup-section{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.backup-section>div{display:flex;align-items:center;gap:12px}.backup-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;color:var(--blue);background:var(--blue-soft)}.backup-section h2{margin:0 0 4px;font-size:15px}.backup-section p{margin:0;color:#7e8999;font-size:11px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#0a152675;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(620px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:14px;box-shadow:0 28px 70px #0e1e363d;animation:modal-in .2s ease both}.modal.wide{width:min(850px,100%)}.modal.income-wide{width:min(1120px,100%)}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.modal-header{min-height:76px;padding:17px 20px;border-bottom:1px solid #e8ecf1;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:2px 0 0;font-size:18px}.entry-form{padding:20px}.type-switch{padding:12px 14px;margin-bottom:16px;border-radius:8px;background:#f5f8fc;display:flex;align-items:center;justify-content:space-between}.type-switch span{font-size:12px;font-weight:700}.type-switch span.income{color:var(--green)}.type-switch span.expense{color:var(--red)}.type-switch small{color:#8490a1;font-size:10px}.form-error{color:#ca463a;background:#fff0ee;border:1px solid #ffd6d1;border-radius:7px;padding:9px 11px;margin-bottom:13px;font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1 / -1}.field span{font-size:11px;color:#536176;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid #dce2ea;border-radius:8px;background:#fff;padding:10px 11px;color:#172338;outline:0;transition:.18s ease}.field input,.field select{min-height:42px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e017}.money-input{position:relative}.money-input b{position:absolute;left:12px;top:9px;color:#708098}.money-input input{padding-left:30px;font-size:20px;font-weight:700}.modal-actions{margin-top:20px;padding-top:15px;border-top:1px solid #edf0f4;display:flex;justify-content:flex-end;gap:8px}.income-entry-form{padding:0;background:#f7f9fc}.income-document-head{margin:16px 20px 0;background:#edf8f5}.form-section{margin:14px 20px 0;padding:18px;border:1px solid #e4e9f0;border-radius:10px;background:#fff}.form-section-title{min-height:38px;margin-bottom:16px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f4}.form-section-title>div{display:flex;flex-direction:column;gap:3px}.form-section-title b{font-size:13px}.form-section-title small{color:#8994a4;font-size:10px}.form-section-title>span{color:#a5b5ca;font-size:12px;font-weight:700;letter-spacing:.08em}.form-grid-three{grid-template-columns:repeat(3,1fr)}.service-items-head,.service-item-row{display:grid;grid-template-columns:minmax(180px,1.8fr) minmax(150px,1.35fr) 70px 76px minmax(105px,.9fr) minmax(105px,.9fr) 34px;gap:8px;align-items:center}.service-items-head{padding:0 5px 7px;color:#7a8799;font-size:10px}.service-items-list{display:flex;flex-direction:column;gap:8px}.service-item-row{padding:9px;border:1px solid #e5eaf0;border-radius:9px;background:#fbfcfe}.service-item-row input{width:100%;min-width:0;min-height:38px;border:1px solid #dce2ea;border-radius:7px;padding:0 9px;background:#fff;outline:0}.service-item-row input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e014}.service-item-row>strong{text-align:right;font-size:12px}.compact-money-input{position:relative}.compact-money-input span{position:absolute;left:9px;top:10px;z-index:1;color:#8290a2;font-size:11px}.compact-money-input input{padding-left:23px}.line-delete{width:32px;height:32px;border:0;border-radius:6px;display:grid;place-items:center;color:#ba5d55;background:transparent;cursor:pointer}.line-delete:hover{background:#fff0ee}.line-delete:disabled{color:#c8ced7;cursor:not-allowed}.income-settlement-layout{margin:14px 20px 0;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.income-settlement-layout .form-section{margin:0}.settlement-card{padding:18px;border:1px solid #dce6f4;border-radius:10px;background:#f5f9ff;box-shadow:0 4px 14px #264f890f}.settlement-card-title{padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid #dce6f2;display:flex;justify-content:space-between}.settlement-card-title span{font-size:13px;font-weight:700}.settlement-card-title small{color:#7e91aa;font-size:10px}.settlement-card>label:not(.tax-mode){min-height:39px;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#66768c;font-size:11px}.settlement-card>label b{color:#20314a}.settlement-input input,.settlement-input select{width:128px;min-height:34px;border:1px solid #d6e0ec;border-radius:7px;padding:0 8px;background:#fff;text-align:right}.tax-mode{min-height:36px;display:flex;align-items:center;gap:7px;color:#66768c;font-size:10px}.tax-mode input{accent-color:var(--blue)}.settlement-total{margin-top:6px;padding:15px 0 8px;border-top:1px solid #dce6f2;display:flex;justify-content:space-between;align-items:baseline}.settlement-total span{font-size:12px;font-weight:600}.settlement-total strong{color:#145fc9;font-size:22px}.settlement-progress{height:6px;margin:7px 0;border-radius:99px;overflow:hidden;background:#dfe8f4}.settlement-progress span{display:block;height:100%;border-radius:inherit;background:#19a891}.settlement-balance{display:flex;justify-content:space-between;color:#64758c;font-size:10px}.settlement-balance b{color:#b46c12}.settle-full-button{width:100%;margin-top:12px;justify-content:center}.note-section{margin-bottom:0}.sticky-actions{position:sticky;bottom:0;z-index:3;margin-top:14px;padding:14px 20px;border-top:1px solid #dde4ed;background:#fffffff5;box-shadow:0 -7px 18px #2036540d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center}.save-summary{margin-right:auto;display:flex;flex-direction:column}.save-summary small{color:#7e8a9b;font-size:9px}.save-summary b{color:#145fc9;font-size:16px}.attachment-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.attachment-row{min-height:58px;display:grid;grid-template-columns:34px 1fr auto 32px;gap:8px;align-items:center;padding:8px;border:1px solid #e2e8ef;border-radius:8px;background:#fafcff}.attachment-row>span{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;color:#1769e0;background:#eaf2ff}.attachment-row>div{min-width:0;display:flex;flex-direction:column}.attachment-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.attachment-row small{color:#8a96a5;font-size:9px}.attachment-picker{min-height:58px;padding:8px 12px;border:1px dashed #b9c9dd;border-radius:8px;display:grid;grid-template-columns:24px 1fr;align-content:center;color:#4472ac;background:#f8fbff;cursor:pointer}.attachment-picker:hover{border-color:var(--blue);background:#f2f7ff}.attachment-picker span{font-size:11px;font-weight:600}.attachment-picker small{grid-column:2;color:#8b98a9;font-size:9px}.attachment-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%);display:flex;align-items:center;gap:8px;color:#fff;background:#183755;border-radius:9px;padding:12px 16px;box-shadow:0 15px 40px #0e1e3638;font-size:12px;animation:toast-in .25s ease both}.toast svg{color:#55d2bc}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#f5f8fc}.login-brand{display:flex;flex-direction:column;justify-content:center;padding:9vw;color:#fff;background:#163d75}.brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:#fff;color:#1769e0}.login-brand h1{margin:28px 0 14px;font-size:clamp(32px,4vw,58px);letter-spacing:-.05em}.login-brand p{max-width:500px;color:#c8d6e8;font-size:16px;line-height:1.8}.login-metrics{display:flex;gap:36px;margin-top:50px;color:#cad7e7}.login-metrics span{display:flex;flex-direction:column}.login-metrics b{color:#fff;font-size:28px}.login-card{width:min(420px,calc(100% - 48px));margin:auto;background:#fff;border:1px solid #e1e6ed;border-radius:14px;padding:34px;box-shadow:0 18px 50px #182d4c1a}.login-card h2{margin:7px 0;font-size:28px}.login-card>p{margin:0 0 28px;color:#7c8899}.login-card .field{margin-top:15px}.login-button{width:100%;margin-top:23px;min-height:46px}.login-card>small{display:block;text-align:center;margin-top:13px;color:#8a96a6}.accounts-hero>div:last-child{flex-direction:row;gap:10px}.accounts-hero .button.ghost{background:transparent;color:#fff;border-color:#ffffff73}.budget-hero .budget-hero-actions{min-width:330px;display:flex;flex-direction:column;align-items:flex-end;gap:14px}.budget-hero .budget-hero-actions .button{color:#fff;border-color:#fff6;background:transparent}.budget-hero .budget-hero-actions .hero-progress{width:100%}.category-tags button small{color:#8994a4;font-size:9px}.inline-add select{min-height:36px;border:1px solid #dfe5ec;border-radius:7px;padding:0 9px;background:#fff}.invitation-list{margin:10px 18px 0;padding-top:14px;border-top:1px solid #edf0f4}.invitation-list h3{margin:0 0 8px;color:#667387;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.08em}.invitation-row{min-height:54px;display:grid;grid-template-columns:1fr auto 30px;gap:10px;align-items:center}.invitation-row>div{display:flex;flex-direction:column}.invitation-row b{font-size:12px}.invitation-row small{color:#8a96a6;font-size:10px}.row-delete{width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:6px;color:#a95650;background:#fff2f1;cursor:pointer}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:26px;padding:4px;border-radius:9px;background:#f1f4f8}.auth-tabs button{min-height:34px;border:0;border-radius:7px;color:#68758a;background:transparent;cursor:pointer}.auth-tabs button.active{color:#185fc8;background:#fff;box-shadow:0 2px 7px #20375817;font-weight:650}.forgot-button{width:100%;margin-top:12px;border:0;color:var(--blue);background:transparent;cursor:pointer}.form-message{margin-top:14px;padding:10px 12px;border-radius:7px;color:#315272;background:#eef6ff;font-size:12px;line-height:1.5}.form-hint{margin:12px 0 0;color:#7e8999;font-size:12px;line-height:1.6}.setup-card ol{padding-left:20px;color:#5f6d80;font-size:13px;line-height:1.8}.config-example{display:grid;gap:7px;margin:18px 0;padding:14px;border:1px solid #dfe5ec;border-radius:9px;background:#f8fafc;overflow-x:auto}.config-example code{color:#315272;font-size:11px}.login-screen.single{grid-template-columns:1fr}.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:13px;color:#426389;background:#f5f8fc}.loading-screen svg{color:var(--blue)}.sidebar-scrim{display:none}@media(max-width:1200px){.content{padding-inline:18px}.kpi-grid,.account-grid{grid-template-columns:repeat(2,1fr)}.report-button{display:none}.dashboard-bottom{grid-template-columns:1fr}.budget-overview-body{grid-template-columns:230px 1fr}.overview-primary-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr)}.overview-operations-grid{grid-template-columns:1fr 1fr}.risk-overview{grid-column:1 / -1}.risk-overview-body{display:grid;grid-template-columns:1fr 1fr;align-items:center}.risk-overview-body>small{margin:4px 0}.risk-overview-body>button,.risk-overview-body>.all-clear{grid-column:2;grid-row:1 / 3}}@media(max-width:900px){.sidebar{transform:translate(-102%);box-shadow:18px 0 45px #14264224;transition:transform .22s ease}.sidebar.open{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;border:0;background:#0f1b2d59}.workspace{margin-left:0}.mobile-menu{display:grid}.topbar{padding-inline:16px}.topbar-actions .date-button,.desktop-add{display:none}.topbar-title h1{font-size:20px}.content{padding:14px 14px 34px}.budget-grid{grid-template-columns:repeat(2,1fr)}.report-grid,.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow-x:auto}.settings-nav button{width:auto;min-width:max-content}.login-screen{grid-template-columns:1fr}.login-brand{display:none}.login-card{margin-block:10vh}.form-grid-three{grid-template-columns:1fr 1fr}.income-settlement-layout{grid-template-columns:1fr}.service-items-section{overflow-x:auto}.service-items-head,.service-items-list{min-width:900px}.overview-control-bar{align-items:flex-start;flex-direction:column}.overview-control-actions{width:100%}.overview-period-switch{margin-right:auto}.overview-primary-grid,.overview-ranking-grid,.overview-operations-grid{grid-template-columns:1fr}.risk-overview{grid-column:auto}.risk-overview-body{display:flex}.quarter-grid{grid-template-columns:repeat(2,1fr)}.quarter-grid>button:nth-child(2){border-right:0}.quarter-grid>button:nth-child(-n+2){border-bottom:1px solid #edf0f4}}@media(max-width:680px){.topbar{height:72px}.profile-button>div,.profile-button>svg{display:none}.content{padding:12px}.kpi-grid,.account-grid,.mini-kpi-grid,.budget-grid,.report-summary{grid-template-columns:1fr}.kpi-card{min-height:112px}.chart-panel{min-height:420px}.panel-heading{align-items:flex-start;gap:10px}.chart-panel .panel-heading{flex-direction:column}.period-tabs{max-width:100%;overflow-x:auto}.main-chart{height:295px}.dashboard-bottom,.budget-overview-body{grid-template-columns:1fr}.donut-wrap{height:160px}.summary-banner,.accounts-hero,.budget-hero{padding:21px;align-items:flex-start;flex-direction:column;gap:18px}.summary-banner strong,.accounts-hero strong,.budget-hero strong{font-size:30px}.summary-banner .income-banner-facts{margin:0;gap:28px}.hero-progress{width:100%}.toolbar{align-items:stretch;flex-direction:column}.toolbar-actions{overflow-x:auto}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar>div{overflow-x:auto}.report-summary article{border-right:0;border-bottom:1px solid #edf0f4}.report-summary article:last-child{border-bottom:0}.distribution-row{grid-template-columns:12px 90px 1fr}.distribution-row>strong{grid-column:2 / -1;text-align:left;margin-top:-8px}.member-row{grid-template-columns:36px 1fr;padding:10px 0}.member-row select,.member-status{grid-column:2}.backup-section{align-items:stretch;flex-direction:column}.backup-section>div:last-child{flex-wrap:wrap}.form-grid,.form-grid-three,.attachment-list{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-backdrop{padding:0;align-items:end}.modal{max-height:92vh;border-radius:14px 14px 0 0}.income-document-head,.form-section,.income-settlement-layout{margin-left:12px;margin-right:12px}.form-section{padding:14px}.income-settlement-layout .form-section{margin-inline:0}.sticky-actions{padding:12px;flex-wrap:wrap}.save-summary{flex:1 0 100%}.sticky-actions .button{flex:1}.mobile-fab{position:fixed;display:flex;right:17px;bottom:17px;z-index:18;border:0;border-radius:99px;background:var(--blue);color:#fff;box-shadow:0 10px 24px #1769e052;padding:13px 17px;align-items:center;gap:7px;font-weight:600}.login-card{padding:25px}.overview-control-actions{display:grid;grid-template-columns:1fr 1fr}.overview-period-switch{grid-column:1 / -1;width:100%}.overview-period-switch button{flex:1}.overview-flow-panel,.overview-health-panel{min-height:350px}.overview-flow-panel .panel-heading{flex-direction:column}.chart-legend.compact{flex-wrap:wrap}.overview-flow-chart{height:270px}.ranking-list>button{grid-template-columns:25px minmax(74px,.7fr) 1fr}.ranking-list>button>strong{grid-column:3}.quarter-grid{grid-template-columns:1fr}.quarter-grid>button{border-right:0;border-bottom:1px solid #edf0f4}.quarter-grid>button:last-child{border-bottom:0}.recent-overview table{min-width:760px}}@media print{.sidebar,.topbar,.report-toolbar{display:none!important}.workspace{margin:0}.content{padding:0}.reports-page{gap:10px}.panel,.report-summary{box-shadow:none;break-inside:avoid}}
