:root{color:#1e2c3e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--teal:#287572;--line:#e7ebf0;--muted:#5f6f82;--ink:#1e3148;background:#f5f7fa;font-family:Inter,Microsoft YaHei,PingFang SC,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button,a{transition:background .15s,color .15s,box-shadow .15s}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button{color:inherit;background:0 0;border:0}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #388e8a}h1,h2,h3,p{margin:0}svg{flex-shrink:0}select{border:1px solid var(--line);color:#43546b;cursor:pointer;background:#fff;border-radius:6px;max-width:100%;padding:8px 29px 8px 10px}input{min-width:0}select:focus,input:focus{outline-color:var(--teal)}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:220px;padding:36px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#21384c;letter-spacing:.5px;align-items:center;gap:10px;padding:0 10px;font-size:19px;font-weight:650;display:flex}.brand>div{white-space:nowrap}.brand:hover{text-decoration:none}.brand small{letter-spacing:2.7px;color:#667686;margin-top:6px;font-size:12px;font-weight:500;display:block}.brand-mark{align-items:flex-end;gap:3px;width:28px;height:34px;display:flex;transform:skewY(-12deg)}.brand-mark span{background:#337a77;border-radius:2px;width:7px;height:21px}.brand-mark span:nth-child(2){background:#649d98;height:30px}.brand-mark span:nth-child(3){background:#a1c0b8;height:24px}.nav-caption{color:#657486;letter-spacing:2px;margin:46px 14px 14px;font-size:12px}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:#52647a;text-align:left;border-radius:7px;align-items:center;gap:13px;padding:14px;font-size:15px;display:flex}.sidebar nav button:hover{background:#f4f7f8}.sidebar nav button.active{color:#2b7772;background:#eaf3f1;font-weight:650}.sidebar nav button i{background:#4c8b83;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar nav button:last-child{margin-top:18px}.sidebar-bottom{border-top:1px solid var(--line);color:#506374;margin-top:auto;padding:22px 12px 0;font-size:13px}.sidebar-bottom a{color:#52677b;align-items:center;gap:7px;display:flex}.workspace{margin-left:220px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fffffff7;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:16px 32px;display:flex;position:sticky;top:0}.breadcrumb{color:#5b6b7e;white-space:nowrap;align-items:center;gap:12px;font-size:13px;display:flex}.breadcrumb b{color:#43556b;font-weight:500}.global-filters{align-items:center;gap:17px;display:flex}.global-filters label{color:#5b6b7e;align-items:center;gap:10px;font-size:13px;display:flex}.global-filters select{background:#f9fafc;border:1px solid #e9edf1;max-width:270px;height:37px;font-size:14px}.refresh{border:1px solid var(--line);color:#50647a;border-radius:6px;place-items:center;width:34px;height:34px;display:grid}.refresh:hover{background:#edf4f3}.mobile-menu,.sidebar-overlay{display:none}main{max-width:1700px;margin:0 auto;padding:34px 32px 18px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.eyebrow{letter-spacing:2px;color:#3e827a;margin-bottom:9px;font-size:12px;font-weight:650}.eyebrow span{color:#657487;letter-spacing:1px;margin-left:9px;font-weight:400}h1{letter-spacing:1px;color:#253a50;font-size:27px;font-weight:620;line-height:1.5}.page-heading p{color:#5e6d7e;margin-top:8px;font-size:14px}.selected-product{text-align:right;gap:8px;display:grid}.selected-product strong{color:#31465f;font-size:16px;font-weight:550}.selected-product span{color:#5f7084;font-size:12px}.sync-bar{color:#586b7f;border-bottom:1px solid var(--line);align-items:center;gap:22px;margin-bottom:21px;padding:11px 0 19px;font-size:12px;display:flex}.sync-bar>span{align-items:center;gap:6px;display:flex}.sync-bar>span:nth-child(2){margin-left:auto}.page-content{flex-direction:column;gap:21px;animation:.2s ease-out appear;display:flex}.date-strip{color:#627286;flex-wrap:wrap;gap:20px;font-size:12px;display:flex}.date-strip>span{align-items:center;gap:6px;display:flex}.date-strip b{color:#50647a;font-weight:500}.date-strip i{background:#74a89c;border-radius:50%;width:5px;height:5px}.date-strip i.unavailable{background:#bbaa8c}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.stats.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;flex-direction:column;min-height:150px;padding:22px 20px 20px;display:flex;position:relative;overflow:hidden}.stat:has([class*=danger]){border-top-color:#d9b6ae}.stat:hover{border-color:#cadcd8;box-shadow:0 4px 15px #24374a09}.stat-label{color:#52647a;justify-content:space-between;align-items:center;gap:8px;min-height:21px;font-size:13px;display:flex}.stat strong{letter-spacing:-.5px;color:#263b52;font-variant-numeric:tabular-nums;margin:15px 0 11px;font-size:30px;font-weight:560;line-height:1.1}.stat small{color:#5e6f81;white-space:normal;overflow-wrap:anywhere;width:100%;margin-top:auto;font-size:12px;line-height:1.6}.badge{white-space:nowrap;color:#53667c;background:#f0f3f6;border-radius:4px;align-items:center;max-width:100%;padding:3px 7px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.badge.success{color:#3e6d54;background:#edf5f0}.badge.warning{color:#856028;background:#fbf4e8}.badge.danger{color:#9d4e40;background:#faeeeb}.badge.neutral{color:#5d6f83;background:#f1f3f6}.grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:21px;display:grid}.overview-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:23px 22px 18px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.panel h3{color:#2b4057;letter-spacing:.3px;font-size:16px;font-weight:600}.panel-heading p{color:#58697c;margin-top:7px;font-size:13px;line-height:1.7}.panel-heading select{max-width:350px;font-size:13px}.text-button{color:#376b62;white-space:nowrap;align-items:center;gap:4px;padding:3px 0;font-size:13px;display:inline-flex}.text-button:hover{color:#265f5a}.muted{color:#58697c;font-size:13px}.note{color:#596b7d;overflow-wrap:anywhere;background:#eef2f5;border-radius:6px;align-items:flex-start;gap:9px;padding:12px 15px;font-size:13px;line-height:1.9;display:flex}.note svg{color:#66798b;margin-top:3px}.note .text-button{margin-left:8px}.panel>.note{margin:12px 0 0}.empty{color:#647489;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:160px;padding:24px;font-size:14px;line-height:1.9;display:flex}.empty svg{opacity:.7}.alert-summary{color:#5c6f81;border-bottom:1px solid #f0f2f4;align-items:baseline;gap:9px;padding-bottom:15px;display:flex}.alert-summary strong{color:#945d49;font-variant-numeric:tabular-nums;font-size:29px;font-weight:550}.alert-summary span{font-size:12px}.alert-summary svg{color:#d4e0dd;align-self:center;margin-left:auto}.alert-line{text-align:left;border-bottom:1px solid #f0f2f4;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:16px 0;display:flex}.alert-line:last-child{border:0}.alert-line b{margin-left:7px;font-size:14px;font-weight:500}.alert-line small{color:#5b6b7e;white-space:nowrap;text-overflow:ellipsis;max-width:250px;margin:7px 0 0;font-size:12px;display:block;overflow:hidden}.alert-line>span{color:#506479;align-items:center;gap:12px;font-size:15px;display:flex}.quality-grid{grid-template-columns:repeat(4,1fr);gap:0 25px;display:grid}.quality-grid>div{color:#607286;border-top:1px solid #f0f2f5;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;font-size:12px;display:flex}.quality-grid strong{color:#4b6278;margin-left:auto;font-weight:500}.quality-grid svg{color:#83a797}.section-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.segmented{background:#edf1f4;border-radius:6px;gap:3px;padding:3px;display:flex}.segmented button{white-space:nowrap;color:#5e7084;border-radius:4px;padding:7px 11px;font-size:12px}.segmented button.selected{color:#387b73;background:#fff;box-shadow:0 1px 4px #25374a09}.chart-tabs{gap:20px;margin:0 0 20px;display:flex}.chart-tabs button{color:#617386;border-bottom:2px solid #0000;padding:0 2px 9px;font-size:13px}.chart-tabs button.active{color:#3d837a;border-color:#659b90}.table-panel{padding:23px 0 0}.table-panel>.panel-heading{margin-bottom:20px;padding:0 22px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:0 22px 17px;display:flex}.search{border:1px solid var(--line);color:#708197;background:#fcfdfe;border-radius:5px;align-items:center;gap:8px;padding:8px 10px;display:flex}.search input{color:#3b5269;background:0 0;border:0;outline:none;width:180px;font-size:13px}.search input::placeholder{color:#637589}.table-toolbar select{max-width:145px;padding:8px 24px 8px 8px;font-size:12px}.toolbar-spacer{flex:1}.quiet-button{border:1px solid var(--line);color:#596d82;cursor:pointer;white-space:nowrap;background:#fff;border-radius:5px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:inline-flex}.quiet-button:hover{background:#f5f8f8}.columns-panel{z-index:60;border:1px solid var(--line);overscroll-behavior:contain;color:#43586e;background:#fff;border-radius:7px;padding:10px;position:fixed;overflow:auto;box-shadow:0 6px 25px #1d384620}.columns-panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:4px 6px 10px;font-size:13px;display:flex}.columns-panel-heading strong{font-weight:600}.columns-panel-heading button{color:var(--teal);padding:4px;font-size:12px}.columns-panel label{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:8px;padding:7px 6px;font-size:13px;display:flex}.columns-panel input{accent-color:var(--teal);flex-shrink:0}.table-scroll{scrollbar-width:thin;scrollbar-color:#cad3df transparent;width:100%;max-height:600px;overflow:auto}.table-scroll table{border-collapse:separate;border-spacing:0;text-align:left;min-width:100%;font-size:14px}.table-scroll th{z-index:1;white-space:nowrap;color:#506780;background:#f8fafc;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4;height:42px;padding:0 14px;font-weight:500;position:sticky;top:0}.table-scroll th button{color:inherit;align-items:center;gap:7px;padding:0;display:flex}.table-scroll th svg{color:#bec7d1}.table-scroll th:first-child,.table-scroll td:first-child{padding-left:23px}.table-scroll td{color:#3f566d;white-space:nowrap;border-bottom:1px solid #f0f3f6;max-width:390px;padding:13px 14px;line-height:1.6}.table-scroll td>span:not(.badge){text-overflow:ellipsis;max-width:390px;display:block;overflow:hidden}.table-scroll td:has(span[title]):hover span[title]{white-space:normal;overflow-wrap:anywhere}.table-scroll tr:hover td{background:#fafcfc}.table-scroll td a{align-items:center;gap:4px;font-size:12px;display:flex}.number{font-variant-numeric:tabular-nums;text-align:right;color:#344c65}.table-footer{color:#576b7f;background:#fff;justify-content:space-between;align-items:center;padding:13px 22px;font-size:12px;display:flex}.table-footer>div{align-items:center;gap:12px;display:flex}.table-footer button{border:1px solid var(--line);border-radius:4px;place-items:center;width:26px;height:26px;display:grid}.table-footer select{padding:5px;font-size:12px}.sync-info{color:#5d7085;align-items:center;gap:13px;padding:20px 5px;font-size:14px;line-height:1.9;display:flex}.sync-info small{color:#5a6e82;font-size:12px}.loading{color:#5e768c;justify-content:center;align-items:center;gap:10px;padding:30px;font-size:14px;display:flex}.skeletons{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.skeletons .loading{grid-column:1/-1}.skeletons>div:not(.loading){background:linear-gradient(100deg,#eef2f5 20%,#fafbfc 40%,#eef2f5 60%) 0 0/200% 100%;border-radius:10px;height:170px;animation:2s infinite shimmer}.primary-button{color:#fff;background:#347a73;border-radius:6px;margin:0 auto 15px;padding:9px 16px;display:block}footer{letter-spacing:.5px;color:#67798d;justify-content:space-between;padding:30px 2px 5px;font-size:12px;display:flex}.spin{animation:1.2s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes appear{0%{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (width>=1700px){main{padding:40px 46px 22px}.topbar{padding-left:46px;padding-right:46px}.stat{padding:25px}.stat strong{font-size:34px}.panel,.table-panel{padding-top:26px}}@media (width<=1200px){.sidebar{width:190px;padding-left:12px;padding-right:12px}.workspace{margin-left:190px}.brand{gap:9px;font-size:17px}.topbar{padding:15px 22px}.breadcrumb{display:none}main{padding:25px 22px}.global-filters{justify-content:flex-end;width:100%}.stat{min-height:140px;padding:18px 14px}.stat strong{font-size:26px}.stat-label{flex-wrap:wrap;font-size:12px}.overview-grid{grid-template-columns:1.2fr 1fr}.quality-grid{grid-template-columns:repeat(3,1fr)}.selected-product{max-width:250px}.selected-product strong{font-size:14px}.stats{gap:12px}}@media (width<=960px){.sidebar{width:70px;padding:28px 9px}.sidebar .brand{padding:0 9px}.sidebar .brand>div,.nav-caption,.sidebar nav span,.sidebar nav i,.sidebar-bottom{display:none}.sidebar nav{margin-top:40px}.sidebar nav button{justify-content:center;padding:14px}.workspace{margin-left:70px}.stats{grid-template-columns:repeat(2,1fr)}.stats.three{grid-template-columns:repeat(3,1fr)}.overview-grid{grid-template-columns:1fr}.grid{gap:15px}.page-content{gap:17px}.panel-heading select{max-width:230px}.sync-bar{flex-wrap:wrap;gap:9px}.sync-bar>span:nth-child(2){margin-left:0}.quality-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.sidebar{width:220px;padding:30px 18px;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .brand>div,.sidebar.mobile-open .nav-caption,.sidebar.mobile-open nav span,.sidebar.mobile-open .sidebar-bottom{display:block}.sidebar nav{margin-top:0}.sidebar nav button{justify-content:flex-start}.sidebar .nav-caption{margin-top:35px}.sidebar-overlay{z-index:25;background:#142c4055;display:block;position:fixed;inset:0}.workspace{margin-left:0}.mobile-menu{place-items:center;padding:4px;display:grid}.topbar{align-items:flex-start;gap:8px;min-height:70px;padding:12px 15px}.global-filters{flex-wrap:wrap;gap:7px;display:flex}.global-filters label>span{display:none}.global-filters select{max-width:210px;height:34px;padding:5px 20px 5px 6px;font-size:12px}.global-filters label:first-child{flex:1}.global-filters label:first-child select{width:100%;max-width:100%}.refresh{width:30px;height:34px}.page-heading{align-items:flex-start;gap:10px}.selected-product{display:none}h1{font-size:25px}main{padding:24px 15px 15px}.page-heading p{font-size:13px;line-height:1.9}.eyebrow{font-size:12px}.sync-bar{font-size:12px;line-height:1.7}.date-strip{gap:8px 13px;font-size:12px}.grid,.overview-grid{grid-template-columns:1fr}.stats,.stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{min-height:135px}.stat strong{font-size:26px}.stat small{font-size:12px}.panel{padding:19px 14px 14px}.panel-heading{flex-wrap:wrap}.panel-heading select{width:100%;max-width:100%}.table-panel{padding:19px 0 0}.table-panel>.panel-heading,.table-toolbar{padding-left:14px;padding-right:14px}.table-toolbar{gap:8px}.table-toolbar .search{flex:1}.table-toolbar .search input{width:100%;min-width:100px}.toolbar-spacer{display:none}.quiet-button{font-size:12px}.table-toolbar select{max-width:130px}.table-footer{padding:12px 13px}.table-footer>div{gap:7px}.section-controls{flex-wrap:wrap;align-items:flex-start}.section-controls .segmented{flex-wrap:wrap}.segmented button{padding:6px 9px;font-size:12px}.quality-grid{gap:0 15px}.quality-grid>div{flex-wrap:wrap;gap:5px;font-size:12px}.quality-grid strong{font-size:12px}.quality-grid svg{width:12px}.table-scroll td{padding:12px 10px}.table-scroll td>span:not(.badge){max-width:260px}.note{font-size:12px}.skeletons{grid-template-columns:1fr}footer{flex-direction:column;gap:10px}.sync-info{font-size:13px}}.asset-structure{container-type:inline-size}.asset-pie-layout{grid-template-columns:minmax(160px,1fr) minmax(190px,1fr);align-items:center;gap:12px;min-height:250px;display:grid}.asset-pie-plot,.asset-legend{min-width:0}.asset-legend-heading{color:#58697c;justify-content:space-between;padding:0 8px 9px;font-size:12px;display:flex}.asset-legend-row{text-align:left;color:#344c65;border-radius:5px;align-items:center;gap:8px;width:100%;padding:10px 8px;font-size:14px;display:flex}.asset-legend-row i{border-radius:3px;flex-shrink:0;width:9px;height:9px}.asset-legend-row span{flex:1}.asset-legend-row strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:550}.asset-legend-row:hover,.asset-legend-row.selected{background:#edf5f3}.asset-legend-row.selected{box-shadow:inset 0 0 0 1px #bdd6d0}.asset-offsets{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.asset-offsets strong{color:#9d554c}.asset-pie-caption{color:#58697c;margin-top:12px;font-size:12px;line-height:1.7}@container (width<=390px){.asset-pie-layout{grid-template-columns:1fr;gap:0}.asset-pie-plot{width:100%;max-width:270px;margin:auto}.asset-legend-row{padding:9px 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.group-controls{color:#52677b;align-items:center;gap:18px;padding:0 22px 14px;font-size:13px;display:flex}.group-controls button{color:#32756e;padding:4px 0}.table-scroll .holding-group-row td{background:#edf4f3;border-bottom:1px solid #dfeae7;padding:0 18px}.holding-group-row button{text-align:left;color:#2d5754;align-items:center;gap:10px;width:100%;padding:14px 4px;display:flex}.holding-group-row strong{font-size:14px;font-weight:600}.holding-group-row button span{color:#526c72;margin-left:5px;font-size:12px}.holding-group-row svg{transition:transform .15s}.holding-group-row svg.expanded{transform:rotate(90deg)}.table-scroll .holding-child-row td:first-child{padding-left:52px}.holding-group-row button:focus-visible{outline-offset:-3px;outline:2px solid #478784}
