.bi-page{--c-primary: var(--pms-primary, #4f46e5);--c-primary-bg: var(--pms-primary-bg, #efeffd);--c-primary-bg-soft: var(--pms-primary-bg-soft, #f6f6fe);--c-primary-border-soft: var(--pms-primary-border-soft, #d8d6f9);--c-success: var(--pms-success, #0f9d63);--c-cat1: var(--pms-cat-1, #e2725b);--c-cat2: var(--pms-cat-2, #5fb6d9);--c-cat3: var(--pms-cat-3, #8b8cd1);--c-cat4: var(--pms-cat-4, #9caf88);--c-surface: var(--pms-surface, #ffffff);--c-surface-2: var(--pms-surface-2, #fafbfc);--c-surface-3: var(--pms-surface-3, #f2f4f7);--c-surface-4: var(--pms-surface-4, #f8fafc);--c-border: var(--pms-border, #eaedf1);--c-border-strong: var(--pms-border-strong, #dfe3e8);--c-text: var(--pms-text, #111827);--c-text-strong: var(--pms-text-strong, #0b0f19);--c-text-secondary: var(--pms-text-secondary, #5c6472);--c-text-muted: var(--pms-text-muted, #8a92a1);--c-text-faint: var(--pms-text-faint, #aeb6c2);--c-text-faintest: var(--pms-text-faintest, #c8ced7);--c-radius-sm: var(--pms-radius-sm, 6px);--c-radius: var(--pms-radius, 8px);--c-radius-lg: var(--pms-radius-lg, 12px);--c-shadow-xs: var(--pms-shadow-xs, 0 1px 2px rgba(16, 24, 40, .04));--c-shadow-md: var(--pms-shadow-md, 0 4px 12px rgba(16, 24, 40, .07), 0 2px 4px rgba(16, 24, 40, .04));--c-ease: var(--pms-ease, cubic-bezier(.16, 1, .3, 1));--c-dur: var(--pms-dur, .16s);--bi-gap: 14px;padding:12px 14px 24px}.bi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:var(--bi-gap)}.bi-head h2{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em;color:var(--c-text-strong)}.bi-head .bi-sub{margin-top:3px;font-size:12px;color:var(--c-text-muted)}.bi-head .bi-sub b{color:var(--c-text-secondary);font-weight:600}@keyframes bi-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bi-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes bi-label-in{0%{opacity:0}to{opacity:1}}.bi-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--bi-gap);margin-bottom:var(--bi-gap)}.bi-kpi{position:relative;overflow:hidden;padding:12px 15px 11px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--c-radius-lg);box-shadow:var(--c-shadow-xs);transition:transform var(--c-dur) var(--c-ease),box-shadow var(--c-dur) var(--c-ease),border-color var(--c-dur) var(--c-ease);animation:bi-fade-up .5s var(--c-ease) both;animation-delay:var(--bi-delay, 0ms)}.bi-kpi:hover{transform:translateY(-3px);box-shadow:var(--c-shadow-md);border-color:var(--c-border-strong)}.bi-kpi:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--bi-tone, var(--c-primary));opacity:.9}.bi-kpi .bi-kpi-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--c-text-muted)}.bi-kpi .bi-kpi-value{margin-top:4px;font-size:25px;line-height:1.15;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--c-text-strong)}.bi-kpi .bi-kpi-value small{font-size:12px;font-weight:500;color:var(--c-text-muted);margin-left:2px}.bi-kpi .bi-kpi-foot{margin-top:4px;font-size:11px;color:var(--c-text-faint);display:flex;align-items:center;gap:5px}.bi-mini{height:3px;margin-top:8px;border-radius:999px;background:var(--c-surface-3);overflow:hidden}.bi-mini>i{display:block;height:100%;width:0;border-radius:inherit;background:var(--bi-tone, var(--c-primary));transition:width 1s var(--c-ease) var(--bi-delay, .12s)}.bi-card{padding:14px 16px 16px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--c-radius-lg);box-shadow:var(--c-shadow-xs);animation:bi-fade-up .5s var(--c-ease) both;animation-delay:var(--bi-delay, 0ms);min-width:0}.bi-card>h3{margin:0 0 2px;font-size:13px;font-weight:620;color:var(--c-text)}.bi-card>p.bi-note{margin:0 0 10px;font-size:11px;color:var(--c-text-faint)}.bi-row5{display:grid;grid-template-columns:repeat(4,minmax(196px,1fr)) minmax(320px,1.72fr);gap:11px;margin-bottom:var(--bi-gap);overflow-x:auto;padding-bottom:4px}.bi-row5 .bi-card{padding:11px 12px 12px}.bi-row5 .bi-card>h3{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bi-row5 .bi-card>p.bi-note{font-size:10px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bi-pie-wrap{display:flex;justify-content:center}.bi-pie-svg{width:100%;max-width:224px;height:auto;overflow:visible}.bi-pie-svg .bi-slice-g{transition:opacity .18s var(--c-ease)}.bi-pie-svg:hover .bi-slice-g{opacity:.32}.bi-pie-svg .bi-slice-g:hover{opacity:1}.bi-pie-svg .bi-slice-g:hover .bi-slice{stroke-width:25}.bi-pie-svg .bi-slice{transition:stroke-dasharray .85s var(--c-ease) var(--d, 0ms),stroke-width .2s var(--c-ease)}.bi-slice-label{opacity:0}.bi-slice-label.is-in{animation:bi-label-in .45s var(--c-ease) both}.bi-lead{stroke-width:1;opacity:.5}.bi-slice-text{font-size:9px;font-variant-numeric:tabular-nums}.bi-slice-count{font-weight:700;fill:var(--c-text-strong)}.bi-slice-pct{font-size:7.5px;fill:var(--c-text-faint)}.bi-pie-big{font-size:18px;font-weight:700;fill:var(--c-text-strong);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.bi-pie-cap{font-size:9px;fill:var(--c-text-muted)}.bi-pie-center-in{opacity:0}.bi-pie-center-in.is-in{animation:bi-label-in .5s var(--c-ease) .15s both}.bi-pie-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 6px;margin-top:5px}.bi-pn-item{display:flex;align-items:center;gap:4px;min-width:0;font-size:9px;color:var(--c-text-secondary)}.bi-pn-item>i{width:7px;height:7px;border-radius:2px;flex:none}.bi-pn-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bi-pn-txt.is-empty{color:var(--c-text-faintest);font-style:italic}.bi-matrix-scroll{overflow-x:auto}table.bi-matrix{table-layout:fixed;width:100%;border-collapse:separate;border-spacing:3px;font-variant-numeric:tabular-nums}table.bi-matrix th{font-weight:500;color:var(--c-text-muted);font-size:9px;line-height:1.1;text-align:center;padding:0 2px}table.bi-matrix thead th:not(.bi-corner){writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;word-break:keep-all;height:68px;vertical-align:bottom;padding-bottom:2px}table.bi-matrix th.bi-corner{width:46px}table.bi-matrix th.bi-rowhead{text-align:right;padding-right:5px;color:var(--c-text-secondary);font-size:10.5px;white-space:nowrap}table.bi-matrix td{min-width:0;height:21px;text-align:center;border-radius:4px;font-size:10.5px;color:var(--c-text);background:var(--c-surface-4);animation:bi-pop .4s var(--c-ease) both;animation-delay:var(--bi-delay, 0ms)}table.bi-matrix td.is-zero{color:var(--c-text-faintest);background:var(--c-surface-2)}table.bi-matrix td.is-total{background:var(--c-primary-bg);color:var(--c-primary);font-weight:620}.bi-footnote{display:flex;align-items:flex-start;gap:8px;margin-top:var(--bi-gap);padding:9px 13px;font-size:11.5px;line-height:1.65;color:var(--c-text-secondary);background:var(--c-primary-bg-soft);border:1px solid var(--c-primary-border-soft);border-radius:var(--c-radius)}@media(prefers-reduced-motion:reduce){.bi-kpi,.bi-card,table.bi-matrix td,.bi-slice-label,.bi-pie-center-in{animation:none!important}.bi-slice-label,.bi-pie-center-in{opacity:1!important}.bi-mini>i,.bi-pie-svg .bi-slice,.bi-pie-svg .bi-slice-g{transition:none!important}}.bw-page{--c-primary: var(--pms-primary, #4f46e5);--c-primary-bg: var(--pms-primary-bg, #efeffd);--c-primary-bg-soft: var(--pms-primary-bg-soft, #f6f6fe);--c-primary-border-soft: var(--pms-primary-border-soft, #d8d6f9);--c-success: var(--pms-success, #0f9d63);--c-cat2: var(--pms-cat-2, #5fb6d9);--c-cat3: var(--pms-cat-3, #8b8cd1);--c-cat4: var(--pms-cat-4, #9caf88);--c-surface: var(--pms-surface, #ffffff);--c-surface-2: var(--pms-surface-2, #fafbfc);--c-surface-3: var(--pms-surface-3, #f2f4f7);--c-surface-4: var(--pms-surface-4, #f8fafc);--c-border: var(--pms-border, #eaedf1);--c-border-strong: var(--pms-border-strong, #dfe3e8);--c-text: var(--pms-text, #111827);--c-text-strong: var(--pms-text-strong, #0b0f19);--c-text-secondary: var(--pms-text-secondary, #5c6472);--c-text-muted: var(--pms-text-muted, #8a92a1);--c-text-faint: var(--pms-text-faint, #aeb6c2);--c-text-faintest: var(--pms-text-faintest, #c8ced7);--c-radius: var(--pms-radius, 8px);--c-radius-lg: var(--pms-radius-lg, 12px);--c-shadow-xs: var(--pms-shadow-xs, 0 1px 2px rgba(16, 24, 40, .04));--c-shadow-md: var(--pms-shadow-md, 0 4px 12px rgba(16, 24, 40, .07), 0 2px 4px rgba(16, 24, 40, .04));--c-ease: var(--pms-ease, cubic-bezier(.16, 1, .3, 1));--c-dur: var(--pms-dur, .16s);--bw-phys: var(--pms-cat-2, #5fb6d9);--bw-virt: var(--pms-cat-3, #8b8cd1);--bw-phys-soft: rgba(95, 182, 217, .16);--bw-virt-soft: rgba(139, 140, 209, .16);--bw-gap: 14px;padding:12px 14px 24px}.bw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:var(--bw-gap)}.bw-head h2{margin:0;font-size:19px;font-weight:650;letter-spacing:-.01em;color:var(--c-text-strong)}.bw-head .bw-sub{margin-top:3px;font-size:12px;color:var(--c-text-muted)}.bw-head .bw-sub b{color:var(--c-text-secondary);font-weight:600}@keyframes bw-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bw-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.bw-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:var(--bw-gap);margin-bottom:var(--bw-gap)}.bw-kpi{position:relative;overflow:hidden;padding:12px 15px 11px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--c-radius-lg);box-shadow:var(--c-shadow-xs);transition:transform var(--c-dur) var(--c-ease),box-shadow var(--c-dur) var(--c-ease),border-color var(--c-dur) var(--c-ease);animation:bw-fade-up .5s var(--c-ease) both;animation-delay:var(--bw-delay, 0ms)}.bw-kpi:hover{transform:translateY(-3px);box-shadow:var(--c-shadow-md);border-color:var(--c-border-strong)}.bw-kpi:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--bw-tone, var(--c-primary));opacity:.9}.bw-kpi .bw-kpi-label{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--c-text-muted)}.bw-kpi .bw-kpi-value{margin-top:4px;font-size:25px;line-height:1.15;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--c-text-strong)}.bw-kpi .bw-kpi-value small{font-size:12px;font-weight:500;color:var(--c-text-muted);margin-left:2px}.bw-kpi .bw-kpi-foot{margin-top:4px;font-size:11px;color:var(--c-text-faint)}.bw-mini{height:3px;margin-top:8px;border-radius:999px;background:var(--c-surface-3);overflow:hidden}.bw-mini>i{display:block;height:100%;width:0;border-radius:inherit;background:var(--bw-tone, var(--c-primary));transition:width 1s var(--c-ease) var(--bw-delay, .12s)}.bw-card{padding:14px 16px 16px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--c-radius-lg);box-shadow:var(--c-shadow-xs);animation:bw-fade-up .5s var(--c-ease) both;animation-delay:var(--bw-delay, 0ms);min-width:0}.bw-card>h3{margin:0 0 2px;font-size:13px;font-weight:620;color:var(--c-text)}.bw-card>p.bw-note{margin:0 0 10px;font-size:11px;line-height:1.5;color:var(--c-text-faint)}.bw-card>p.bw-hint{margin:10px 0 0;padding-top:8px;border-top:1px dashed var(--c-border);font-size:10.5px;line-height:1.6;color:var(--c-text-muted)}.bw-card em.is-phys{color:var(--bw-phys);font-style:normal;font-weight:600}.bw-card em.is-virt{color:var(--bw-virt);font-style:normal;font-weight:600}.bw-row3{display:grid;grid-template-columns:minmax(250px,1fr) minmax(250px,1fr) minmax(300px,1.35fr);gap:11px;margin-bottom:var(--bw-gap);align-items:stretch}.bw-row2{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:11px;margin-bottom:var(--bw-gap);align-items:stretch}@media(max-width:1180px){.bw-row3{grid-template-columns:repeat(2,minmax(250px,1fr))}.bw-row2{grid-template-columns:minmax(300px,1fr)}}@media(max-width:760px){.bw-row3{grid-template-columns:minmax(240px,1fr)}}.bw-pie-wrap{display:flex;align-items:center;gap:10px}.bw-pie{position:relative;width:96px;height:96px;flex:none}.bw-pie svg{transform:rotate(-90deg)}.bw-pie-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.12;pointer-events:none}.bw-pie-center b{font-size:17px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--c-text-strong)}.bw-pie-center span{font-size:9.5px;color:var(--c-text-muted)}.bw-pie-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.bw-pl-item{display:grid;grid-template-columns:8px 1fr auto auto;align-items:center;gap:5px;font-size:10.5px;color:var(--c-text-secondary);line-height:1.35}.bw-pl-item>i{width:8px;height:8px;border-radius:2px;flex:none}.bw-pl-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bw-pl-label.is-empty{color:var(--c-text-faintest);font-style:italic}.bw-pl-item>b{font-variant-numeric:tabular-nums;font-weight:620;color:var(--c-text)}.bw-pl-pct{width:34px;text-align:right;font-size:9.5px;color:var(--c-text-faint);font-variant-numeric:tabular-nums}.bw-pl-sub{grid-column:2 / -1;font-size:9.5px;color:var(--c-text-faintest);margin-top:-2px}.bw-bars{display:flex;flex-direction:column;gap:9px}.bw-bar-row{display:grid;grid-template-columns:minmax(84px,108px) 1fr auto;align-items:center;gap:9px;animation:bw-fade-up .45s var(--c-ease) both;animation-delay:var(--bw-delay, 0ms)}.bw-bar-label{font-size:11.5px;color:var(--c-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bw-bar-label.is-empty{color:var(--c-text-faintest);font-style:italic}.bw-bar-track{position:relative;display:flex;height:14px;border-radius:5px;background:var(--c-surface-3);overflow:hidden;transition:box-shadow var(--c-dur) var(--c-ease)}.bw-bar-row:hover .bw-bar-track{box-shadow:inset 0 0 0 1px var(--c-border-strong)}.bw-bar-track.is-empty{background:repeating-linear-gradient(90deg,var(--c-surface-3) 0 6px,var(--c-surface-4) 6px 12px)}.bw-bar-seg{display:block;height:100%;width:0;transition:width .9s var(--c-ease) var(--bw-delay, 0ms)}.bw-bar-seg.is-phys{background:var(--bw-phys)}.bw-bar-seg.is-virt{background:var(--bw-virt)}.bw-bar-nums{display:flex;align-items:baseline;gap:6px;min-width:96px;justify-content:flex-end;font-variant-numeric:tabular-nums}.bw-bar-nums>b{font-size:14px;font-weight:660;color:var(--c-text-strong);animation:bw-pop .45s var(--c-ease) both;animation-delay:var(--bw-delay, 0ms)}.bw-bar-nums>span{width:62px;text-align:right;font-size:10.5px;color:var(--c-text-faint)}.bw-bar-nums em{font-style:normal;font-weight:620}.bw-bar-nums em.is-phys{color:var(--bw-phys)}.bw-bar-nums em.is-virt{color:var(--bw-virt)}.bw-matrix-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.bw-matrix-head .bw-note{margin:0}.bw-matrix-scroll{overflow-x:auto}table.bw-matrix{border-collapse:separate;border-spacing:3px;font-variant-numeric:tabular-nums}table.bw-matrix th{font-weight:500;color:var(--c-text-muted);font-size:10px;line-height:1.2;text-align:center;padding:1px 3px;max-width:66px;white-space:normal;word-break:break-word}table.bw-matrix th.bw-rowhead{text-align:right;padding-right:6px;color:var(--c-text-secondary);font-size:10.5px;white-space:nowrap}table.bw-matrix td{min-width:34px;height:23px;text-align:center;border-radius:5px;font-size:11px;color:var(--c-text);background:var(--c-surface-4);animation:bw-pop .4s var(--c-ease) both;animation-delay:var(--bw-delay, 0ms);transition:transform var(--c-dur) var(--c-ease)}table.bw-matrix td:hover{transform:scale(1.06)}table.bw-matrix td.is-zero{color:var(--c-text-faintest);background:var(--c-surface-2)}table.bw-matrix td.is-total{background:var(--c-primary-bg);color:var(--c-primary);font-weight:620}.bw-matrix-foot{margin:8px 0 0!important}.bw-table-scroll{overflow-x:auto}table.bw-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums}table.bw-table th,table.bw-table td{padding:7px 10px;text-align:center;border-bottom:1px solid var(--c-border);white-space:nowrap}table.bw-table th{font-size:11px;font-weight:560;color:var(--c-text-muted);background:var(--c-surface-2);position:sticky;top:0}table.bw-table th.ta-l,table.bw-table td.ta-l{text-align:left}table.bw-table th.bw-th-phys{color:var(--bw-phys)}table.bw-table th.bw-th-virt{color:var(--bw-virt)}table.bw-table tbody tr{animation:bw-fade-up .4s var(--c-ease) both;animation-delay:calc(var(--bw-delay, 0ms) + var(--bw-i, 0) * 18ms);transition:background var(--c-dur) var(--c-ease)}table.bw-table tbody tr:hover{background:var(--c-primary-bg-soft)}table.bw-table tbody tr.is-empty td{color:var(--c-text-faint);font-style:italic}table.bw-table td.is-strong{font-weight:640;color:var(--c-text-strong)}table.bw-table .bw-num-phys{display:inline-block;min-width:22px;padding:1px 6px;border-radius:5px;background:var(--bw-phys-soft);color:var(--bw-phys);font-weight:620}table.bw-table .bw-num-virt{display:inline-block;min-width:22px;padding:1px 6px;border-radius:5px;background:var(--bw-virt-soft);color:var(--bw-virt);font-weight:620}table.bw-table tr.is-total td{background:var(--c-primary-bg);color:var(--c-primary);border-bottom:none;font-weight:640}table.bw-table tr.is-total .bw-num-phys,table.bw-table tr.is-total .bw-num-virt{background:#ffffffb8}.bw-footnote{display:flex;align-items:flex-start;gap:8px;margin-top:var(--bw-gap);padding:9px 13px;font-size:11.5px;line-height:1.7;color:var(--c-text-secondary);background:var(--c-primary-bg-soft);border:1px solid var(--c-primary-border-soft);border-radius:var(--c-radius)}@media(prefers-reduced-motion:reduce){.bw-kpi,.bw-card,table.bw-matrix td,table.bw-table tbody tr,.bw-bar-row,.bw-bar-nums>b{animation:none!important}.bw-mini>i,.bw-bar-seg,.bw-pie circle{transition:none!important}}html,body,#root{height:100%;margin:0}body{background:#f5f7fa}.page-shell{padding:12px 14px 24px}.page-shell__title{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.page-shell__title h2{margin:0;font-size:17px;font-weight:600;white-space:nowrap;flex:0 0 auto}.page-shell__desc{color:#8c8c8c;font-size:12px;min-width:0}.grid-toolbar__actions{display:flex;gap:8px;flex:0 0 auto;margin-left:auto}.grid-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.grid-tabs.ant-segmented{padding:2px;background:#f2f5f9;border-radius:8px;box-shadow:inset 0 0 0 1px #e6ecf3}.grid-tabs.ant-segmented .ant-segmented-item{border-radius:6px;transition:color .15s}.grid-tabs.ant-segmented .ant-segmented-item-label{min-height:24px;line-height:24px;padding:0 10px;font-size:12.5px}.grid-tabs.ant-segmented .ant-segmented-item-selected{color:#0b7285;font-weight:600}.grid-tabs__item{display:inline-flex;align-items:center;gap:6px}.grid-tabs__count{font-size:11px;line-height:1;padding:2px 5px;border-radius:9px;background:#dde3ea;color:#5c6b7a;font-variant-numeric:tabular-nums}.grid-tabs.ant-segmented .ant-segmented-item-selected .grid-tabs__count{background:#d3ecef;color:#0b7285}.app-sider__head{height:52px;display:flex;align-items:center;gap:6px;padding:0 8px 0 14px;overflow:hidden}.app-sider__head.is-collapsed{padding:0;justify-content:center}.app-sider__brand{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;color:#fff;font-weight:600;font-size:15px;letter-spacing:.3px;white-space:nowrap;overflow:hidden}.app-sider__toggle.ant-btn{flex:0 0 auto;color:#ffffff9e}.app-sider__toggle.ant-btn:not(:disabled):hover,.app-sider__toggle.ant-btn:not(:disabled):focus-visible{color:#fff;background:#ffffff24}.login-wrap{position:relative;min-height:100vh;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:32px 16px 64px;overflow:hidden;background:radial-gradient(880px 520px at 84% 6%,#0d94884d,#0d948800 62%),radial-gradient(720px 460px at 8% 96%,#3884ff29,#3884ff00 60%),linear-gradient(158deg,#0a1723,#0b1d2a 46%,#071320)}.login-wrap:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(120% 90% at 50% 38%,#000 0%,transparent 76%);mask-image:radial-gradient(120% 90% at 50% 38%,#000 0%,transparent 76%)}.login-card{position:relative;z-index:1;width:400px;max-width:100%;background:#fff;border-radius:16px;padding:38px 36px 30px;box-shadow:0 32px 80px -24px #030e169e,0 2px 8px #030e1624;animation:login-card-in .45s cubic-bezier(.22,.61,.36,1) both}.login-card .ant-card-body{padding:0}@keyframes login-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #eef2f5}.login-brand__mark{flex:0 0 auto;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#1094a9,#0b7285 58%,#0a5f70);box-shadow:0 8px 18px -8px #0b7285d9}.login-brand__mark svg{width:22px;height:22px;display:block}.login-brand__name{margin:0;font-size:19px;font-weight:600;letter-spacing:.8px;color:#0f1c26;line-height:1.3}.login-card .ant-form-item{margin-bottom:18px}.login-card .ant-form-item-label{padding-bottom:6px}.login-card .ant-form-item-label>label{width:100%;height:auto;font-size:12.5px;color:#47535e;justify-content:space-between}.login-label-row{display:inline-flex;align-items:center;justify-content:space-between;width:100%;gap:12px}.login-label-row a{font-size:12px;font-weight:400;color:#0b7285}.login-label-row a:hover{color:#1094a9}.login-card .ant-input-affix-wrapper{border-radius:10px;padding:7px 12px}.login-card .ant-input-prefix{color:#a3b0bb;margin-inline-end:8px}.login-submit.ant-btn{height:46px;margin-top:4px;border:none;border-radius:10px;font-size:15px;font-weight:500;letter-spacing:6px;text-indent:6px;background:linear-gradient(135deg,#1094a9,#0b7285);box-shadow:0 12px 24px -14px #0b7285f2}.login-submit.ant-btn:not(:disabled):hover{background:linear-gradient(135deg,#13a7bd,#0c8098)!important}.login-forgot__tip{margin:0 0 16px;font-size:12.5px;line-height:1.7;color:#6b7885}.login-forgot__foot{margin:14px 0 0;font-size:12px;color:#9aa6b1}@media(max-width:480px){.login-card{padding:30px 22px 24px;border-radius:14px}.login-brand{padding-bottom:18px;margin-bottom:18px}}.icp-footer{position:fixed;left:0;right:0;bottom:0;height:28px;z-index:30;display:flex;align-items:center;justify-content:center;gap:10px;background:#1f2b3a;border-top:1px solid #2b3a4d;color:#7f95ad;font-size:11px}.icp-footer__sep{color:#46586e}.icp-footer a{color:#9fb3c8;text-decoration:none}.icp-footer a:hover{color:#4dd4ac;text-decoration:underline}.build-badge{position:fixed;right:8px;bottom:6px;z-index:20;font-size:11px;color:#b8c2cc;-webkit-user-select:text;user-select:text}
