:root{color:#0f1419;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-bg:#fff;--surface-0:#f7f9f9;--surface-1:#fff;--surface-hover:#eff3f4;--surface-strong:#0f1419;--line-soft:#eff3f4;--line-strong:#cfd9de;--text-1:#0f1419;--text-2:#536471;--text-3:#6b7885;--brand:#f4a31b;--accent:#1877c9;--accent-strong:#166fbf;--accent-soft:#e8f5fd;--positive:#047857;--positive-soft:#e7f6ef;--negative:#d9272e;--negative-soft:#fdecec;--warning:#c2410c;--up:#d9272e;--up-soft:#fdecec;--down:#00873c;--down-soft:#e6f4ec;--warning-soft:#ffedd5;--link:#1877c9;--shadow-lg:0 16px 40px #10182814, 0 2px 6px #1018280a;--shadow-sm:none;--radius-xl:16px;--radius-lg:16px;--radius-md:10px;--radius-sm:8px;--content-width:1200px;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%}body{min-height:100dvh;color:var(--text-1);background:var(--app-bg);margin:0}#app{width:100%}a{color:inherit}button,input,textarea,select{font:inherit}.tabular,.n-data-table-td,.n-statistic-value__content{font-variant-numeric:tabular-nums}.app-shell{background:0 0;min-height:100dvh}.app-sidebar{background:var(--surface-1);flex-direction:column;height:100%;padding:16px 12px 12px;display:flex}.app-brand{align-items:center;gap:10px;padding:4px 8px 16px;display:flex}.app-sidebar.is-collapsed .app-brand{justify-content:center;padding-inline:0}.app-brand__mark{background:#fffaf0;border:1px solid #f1e4c8;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;overflow:hidden}.app-brand__mark img{width:88%;height:88%;display:block}.app-brand__text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.app-brand__title{color:var(--text-1);font-size:14px;font-weight:800}.app-brand__subtitle{color:var(--text-3);font-size:12px}.app-nav{flex:1;overflow-y:auto}.app-nav .n-menu-item-group-title{letter-spacing:.06em;color:var(--text-3);font-size:11px;font-weight:700;padding-left:16px!important}.app-sidebar.is-collapsed{padding-inline:0}.app-sidebar.is-collapsed .n-menu-item-group-title{background:var(--line-soft);color:#0000;margin:8px 16px;overflow:hidden;height:1px!important;padding:0!important}.app-sidebar.is-collapsed .app-account{width:auto;margin-inline:12px}.app-nav .n-menu-item-content{font-size:15px}.app-nav .n-menu-item-content--selected .n-menu-item-content-header{font-weight:700}.app-account{border-radius:var(--radius-md);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;margin-top:8px;padding:8px;transition:background-color .15s,border-color .15s;display:flex}.app-account:hover{border-color:var(--line-soft);background:var(--surface-0)}.app-sidebar.is-collapsed .app-account{justify-content:center}.app-account__meta{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.app-account__name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.app-account__role{color:var(--text-3);font-size:12px}.app-account__chevron{width:14px;height:14px;color:var(--text-3)}.app-user__avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.app-user__avatar--button{cursor:pointer;border:0}.app-main{background:0 0;min-width:0}.app-topbar{z-index:10;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);background:#ffffffd9;align-items:center;gap:8px;height:52px;padding:0 12px;display:flex;position:sticky;top:0}.app-topbar__title{flex:1;font-size:15px;font-weight:700}.app-content{max-width:var(--content-width);margin:0 auto;padding:32px 40px 64px;display:block}.page-stack{flex-direction:column;gap:20px;min-height:min-content;display:flex}.page-stack>*{flex-shrink:0}.page-stack>.n-spin-container>.n-spin-content{flex-direction:column;gap:20px;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:4px;display:flex}.page-header__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.page-header__title{letter-spacing:-.02em;color:var(--text-1);margin:0;font-size:23px;font-weight:800;line-height:1.25}.page-header__desc{max-width:680px;color:var(--text-3);margin:0;font-size:14px}.page-header__actions,.inline-control{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.page-back{color:var(--text-3);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin-bottom:4px;padding:0;font-size:13px;display:inline-flex}.page-back:hover{color:var(--text-1)}.section-note{color:var(--text-3);font-size:13px}.section-title{color:var(--text-1);margin:0;font-size:15px;font-weight:700;line-height:1.3}.surface-panel{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm);overflow:hidden}.surface-panel .n-card-header,.surface-panel .n-card-content,.surface-panel .n-card__footer{padding-inline:20px!important}.surface-panel .n-card-header{padding-top:16px!important;padding-bottom:12px!important}.surface-panel .n-card-content{padding-bottom:20px!important}.surface-panel .n-card-header__main{font-size:17px;font-weight:800}.surface-panel .n-card-header__extra{font-weight:400}.surface-panel--flush>.n-card-content{padding:0!important}.surface-panel--flush .n-data-table--bordered .n-data-table-wrapper{border:0;border-radius:0}.surface-panel--flush .n-data-table .n-data-table-th:first-child,.surface-panel--flush .n-data-table .n-data-table-td:first-child{padding-left:20px}.surface-panel--flush .n-data-table .n-data-table-th:last-child,.surface-panel--flush .n-data-table .n-data-table-td:last-child{padding-right:20px}.surface-panel--flush .n-data-table .n-data-table-tr:last-child .n-data-table-td{border-bottom:0}.panel-empty{padding:40px 0}.data-table-shell{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm);flex-shrink:0;overflow:auto}.n-data-table .n-data-table-th{font-size:12px;font-weight:500}.n-data-table .n-data-table-tr--clickable{cursor:pointer}.stat-strip{grid-template-columns:repeat(var(--stat-cols,3), minmax(0, 1fr));border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm);display:grid;overflow:hidden}.stat-strip__cell{border-left:1px solid var(--line-soft);min-width:0;padding:16px 20px}.stat-strip__cell:first-child{border-left:0}.stat-strip__label{color:var(--text-2);font-size:13px}.stat-strip__value{letter-spacing:-.02em;color:var(--text-1);font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;font-weight:800;line-height:1.25}.stat-strip__value.is-positive{color:var(--up)}.stat-strip__value.is-negative{color:var(--down)}.stat-strip__value.is-warning{color:var(--warning)}.stat-strip__unit{color:var(--text-3);margin-left:4px;font-size:13px;font-weight:500}.stat-strip__hint{color:var(--text-3);margin-top:2px;font-size:12px}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input-icon{width:15px;height:15px;color:var(--text-3)}.filter-bar>.filter-bar__grow{flex:1;min-width:200px}.filter-bar>.filter-bar__fixed{width:140px}.filter-bar>.filter-bar__year{width:116px}.badge{background:var(--surface-hover);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--plain:before{display:none}.badge--positive{background:var(--positive-soft);color:var(--positive)}.badge--negative{background:var(--negative-soft);color:var(--negative)}.badge--up{background:var(--up-soft);color:var(--up)}.badge--down{background:var(--down-soft);color:var(--down)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--accent{background:var(--accent-soft);color:var(--accent-strong)}.swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px;display:inline-block}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.amount--positive{color:var(--up)}.amount--negative{color:var(--down)}.text-danger{color:var(--negative)}.amount--muted{color:var(--text-3);font-weight:400}.status-text{font-weight:500}.status-text--positive{color:var(--positive)}.status-text--warning{color:var(--warning)}.table-actions{justify-content:flex-end;gap:14px;display:flex}.text-action{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.text-action:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.text-action--danger,.text-action--danger:hover{color:var(--negative)}.cell-stack{flex-direction:column;line-height:1.35;display:flex}.cell-main{color:var(--text-1);font-weight:500}.cell-muted{color:var(--text-3);font-size:12px}.cell-name{align-items:center;gap:8px;display:inline-flex}.bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.bento>*{min-width:0}.bento__span-4{grid-column:span 4}.bento__span-5{grid-column:span 5}.bento__span-6{grid-column:span 6}.bento__span-7{grid-column:span 7}.bento__span-8{grid-column:span 8}.bento__span-12{grid-column:span 12}.hero-card{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-sm);flex-direction:column;gap:16px;padding:24px 24px 12px;display:flex;position:relative;overflow:hidden}.hero-card__head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero-card__label{color:var(--text-2);font-size:13px;font-weight:500}.hero-card__value{letter-spacing:-.03em;color:var(--text-1);font-variant-numeric:tabular-nums;margin-top:4px;font-size:clamp(32px,3.6vw,44px);font-weight:800;line-height:1.1}.hero-card__chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.hero-card__chart{flex:1;min-height:240px}.delta-chip{background:var(--surface-hover);color:var(--text-1);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;font-weight:700;display:inline-flex}.delta-chip__label{color:var(--text-3);font-weight:400}.delta-chip--positive{background:var(--up-soft);color:var(--up)}.delta-chip--negative{background:var(--down-soft);color:var(--down)}.range-tabs{flex-shrink:0;width:216px}.mini-tabs{width:120px}.chart-frame{min-height:320px}.chart-frame--sankey{min-height:420px}.chart-frame--compact{min-height:280px}.type-change-summary{flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:8px;display:flex}.type-change-summary__value{color:var(--text-1);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.type-change-summary__value--positive{color:var(--up)}.type-change-summary__value--negative{color:var(--down)}.draggable-list{flex-direction:column;display:flex}.account-row{border-top:1px solid var(--line-soft);background:var(--surface-1);align-items:center;gap:16px;padding:12px 20px;transition:background-color .15s;display:flex}.account-row:first-child{border-top:0}.account-row:hover{background:var(--surface-0)}.account-row.sortable-ghost{background:var(--accent-soft);opacity:.7}.account-row.sortable-chosen{box-shadow:var(--shadow-lg)}.account-row__main,.account-row__meta,.account-row__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-row__main{flex:1;min-width:0}.account-row__main strong{font-weight:500}.account-row__meta{color:var(--text-3);font-size:12px}.drag-handle{color:var(--line-strong);cursor:grab;-webkit-user-select:none;user-select:none;transition:color .15s;display:inline-flex}.drag-handle svg{width:16px;height:16px}.account-row:hover .drag-handle{color:var(--text-3)}.detail-block{flex-direction:column;flex-shrink:0;gap:12px;display:flex}.detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.detail-meta-card{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface-1);padding:16px 20px}.detail-meta-card__value{margin-top:6px;font-size:15px;font-weight:500;display:block}.meta-line{color:var(--text-3);flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.form-grid{grid-template-columns:200px minmax(0,1fr);gap:16px;display:grid}.action-bar{z-index:5;border:1px solid var(--line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px 12px 20px;display:flex;position:sticky;bottom:16px}.action-bar__summary{color:var(--text-3);flex-wrap:wrap;align-items:baseline;gap:4px 16px;font-size:13px;display:flex}.action-bar__summary strong{color:var(--text-1);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.progress-cell{flex-direction:column;gap:4px;display:flex}.progress-cell__track{background:var(--surface-hover);border-radius:999px;height:6px;overflow:hidden}.progress-cell__fill{border-radius:inherit;background:var(--warning);height:100%}.progress-cell__fill.is-done{background:var(--positive)}.progress-cell__label{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12px}.drawer-badges{flex-wrap:wrap;gap:6px;display:flex}.drawer-stats{border:1px solid var(--line-soft);border-radius:var(--radius-md);grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 4px;display:grid;overflow:hidden}.drawer-stats>div{border-left:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.drawer-stats>div:first-child{border-left:0}.drawer-stats span{color:var(--text-3);font-size:12px}.drawer-stats strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.modal-footer{justify-content:flex-end;gap:8px;display:flex}.login-shell{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.login-wrap{border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface-1);width:min(1040px,100%);box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1.1fr) minmax(340px,400px);display:grid;overflow:hidden}.login-hero{background:radial-gradient(120% 80% at 100% 0%, #ffffff14, transparent 60%), var(--surface-strong);color:#f5f0e8;flex-direction:column;justify-content:space-between;gap:32px;padding:40px;display:flex;position:relative}.login-hero__badge{color:#e7e9ea;border:1px solid #ffffff29;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.login-hero__title{letter-spacing:-.02em;color:#fff;margin:20px 0 12px;font-size:clamp(28px,3.4vw,38px);font-weight:800;line-height:1.2}.login-hero__desc{color:#f5f0e8b8;max-width:440px;margin:0;font-size:14px}.login-hero__highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.login-hero__tile{border-radius:var(--radius-md);background:#ffffff0a;border:1px solid #ffffff1a;padding:14px}.login-hero__tile strong{color:#fff;margin-bottom:4px;font-size:14px;font-weight:700;display:block}.login-hero__tile span{color:#f5f0e89e;font-size:12px}.login-card{background:var(--surface-1);flex-direction:column;justify-content:center;padding:40px 36px;display:flex}.login-card__brand{align-items:center;gap:10px;margin-bottom:28px;display:flex}.login-card__brand-text{flex-direction:column;line-height:1.25;display:flex}.login-card__title{letter-spacing:-.01em;margin:0 0 6px;font-size:22px;font-weight:800;line-height:1.25}.login-card__desc{color:var(--text-2);margin:0 0 20px;font-size:14px}.login-card__actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.screen-shell{justify-content:center;align-items:flex-start;min-height:100dvh;padding:10vh 20px 36px;display:flex}.screen-card{border:1px solid var(--line-soft);border-radius:var(--radius-xl);background:var(--surface-1);width:min(480px,100%);box-shadow:var(--shadow-lg);margin:0 auto;padding:32px}.screen-card .page-header__title{font-size:22px}.section-grid{gap:16px;display:grid}.section-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-only{display:none}.desktop-only{display:inline-flex}@media (width<=1100px){.bento__span-4,.bento__span-5,.bento__span-6,.bento__span-7,.bento__span-8{grid-column:span 12}.section-grid--two{grid-template-columns:1fr}.login-wrap{grid-template-columns:1fr;width:min(480px,100%)}.login-hero{padding:28px}.login-hero__highlights{display:none}}@media (width<=820px){.mobile-only{display:inline-flex}.desktop-only{display:none}.app-content{padding:20px 16px 40px}.page-header{flex-direction:column;align-items:stretch}.page-header__title{font-size:20px}.table-toolbar{flex-direction:column;align-items:stretch}.stat-strip{grid-template-columns:1fr}.stat-strip__cell{border-top:1px solid var(--line-soft);border-left:0;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;display:flex}.stat-strip__cell:first-child{border-top:0}.stat-strip__value{margin-top:0;font-size:18px}.stat-strip__hint{display:none}.detail-meta-grid,.form-grid{grid-template-columns:1fr}.account-row{gap:8px;padding:10px 12px}.account-row__meta{display:none}.account-row__actions{flex-wrap:nowrap;gap:0}.filter-bar>.filter-bar__fixed,.filter-bar>.filter-bar__year{flex:1;width:auto}.filter-bar>.filter-bar__grow{flex-basis:100%}.screen-shell{padding:24px 14px}.screen-card{padding:24px 20px}}@media (width<=640px){.chart-frame--sankey{min-height:300px}.hero-card{padding:20px 16px 8px}.hero-card__head{flex-direction:column}.range-tabs{width:100%}.hero-card__chart{min-height:200px}.surface-panel .n-card-header,.surface-panel .n-card-content{padding-inline:16px!important}.surface-panel--flush .n-data-table .n-data-table-th:first-child,.surface-panel--flush .n-data-table .n-data-table-td:first-child{padding-left:16px}}@media (width<=560px){.login-shell{padding:14px}.login-hero{padding:24px 20px}.login-card{padding:28px 20px}.login-card__actions{flex-direction:column;align-items:stretch}}
