:root{color:#172033;background:#f3f6fa;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}a{color:inherit}.error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7fa}.login-page{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh;overflow:hidden;background:#f6f8fb}.login-introduction{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(48px,7vw,112px);overflow:hidden;color:#fff;background:radial-gradient(circle at 85% 15%,rgb(44 194 201 / 32%),transparent 34%),linear-gradient(145deg,#10294f,#164b70 56%,#087f8c)}.login-introduction:after{position:absolute;right:-120px;bottom:-190px;width:460px;height:460px;border:1px solid rgb(255 255 255 / 14%);border-radius:50%;box-shadow:0 0 0 52px #ffffff0a,0 0 0 104px #ffffff08;content:""}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:clamp(54px,9vh,104px);font-size:18px;font-weight:650}.login-brand-mark,.app-brand-mark{display:inline-grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border-radius:10px;color:#fff;font-size:17px;font-weight:700;background:linear-gradient(145deg,#1677ff,#09a1a8);box-shadow:0 8px 20px #1677ff3d}.login-introduction .ant-typography{position:relative;z-index:1;max-width:650px;color:#fff}.login-introduction h1.ant-typography{margin-bottom:20px;font-size:clamp(34px,4vw,58px);line-height:1.14;letter-spacing:-.04em}.login-introduction p.ant-typography{max-width:580px;color:#ffffffc2;font-size:17px;line-height:1.85}.login-benefits{position:relative;z-index:1;margin-top:30px;color:#ffffffd6}.login-benefits span{display:flex;gap:10px;align-items:center}.login-panel{display:grid;min-width:0;padding:clamp(28px,6vw,84px);place-items:center}.login-card{width:min(100%,448px);border:1px solid #edf0f5;border-radius:18px;box-shadow:0 24px 70px #2034551f}.login-card .ant-card-body{padding:clamp(28px,4vw,44px)}.login-heading{width:100%;margin-bottom:28px}.login-heading .ant-typography{margin:0}.login-form{margin-top:20px}.login-remember-row{margin-top:-4px;margin-bottom:18px}.login-help{margin:24px 0 0!important;text-align:center;font-size:13px}.app-shell{width:100%;min-height:100vh;overflow-x:clip;background:#f3f6fa}.app-sider{position:sticky!important;top:0;height:100vh;overflow:hidden;border-right:1px solid #e7ebf1;box-shadow:4px 0 22px #2637530a}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-brand{display:flex;flex:0 0 72px;gap:11px;align-items:center;min-width:0;padding:0 18px;overflow:hidden;border-bottom:1px solid #eef1f5;white-space:nowrap}.app-brand-name{color:#172033;font-size:17px;font-weight:700}.app-navigation{flex:1;min-width:0;padding:14px 8px;overflow-y:auto;border-inline-end:0!important}.app-navigation .ant-menu-item{height:44px;margin-block:3px;line-height:44px}.sider-collapse-button{flex:0 0 52px;width:calc(100% - 16px);margin:0 8px 10px;color:#5e6b7d}.app-main-layout{min-width:0;background:transparent}.app-header{position:sticky;z-index:20;top:0;display:flex;gap:16px;align-items:center;justify-content:space-between;height:64px;padding:0 28px;border-bottom:1px solid #e7ebf1;background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-header-context{min-width:0}.account-button{flex:0 0 auto;height:40px}.mobile-menu-button{display:none}.app-content{width:min(100%,1720px);min-width:0;margin:0 auto;padding:28px clamp(20px,2.5vw,44px) 48px}.page-heading{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;min-width:0;margin-bottom:22px}.page-heading-copy{min-width:0}.page-heading .ant-typography{max-width:760px}.page-heading h2.ant-typography{margin:5px 0 3px;color:#172033;font-size:28px}.page-heading p.ant-typography{margin:0;color:#697588}.page-breadcrumb{color:#8a94a6;font-size:13px}.page-actions{flex:0 0 auto}.dashboard-data-alert{margin-bottom:20px}.dashboard-section{min-width:0;margin-bottom:24px}.section-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:13px}.section-heading h4.ant-typography{margin:0 0 2px;color:#1a2638}.metric-grid,.quick-link-grid{display:grid;min-width:0;gap:14px}.metric-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}.metric-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-card,.dashboard-empty-card{min-width:0;border:1px solid #e8edf3;border-radius:12px;box-shadow:0 5px 18px #22344f0a}.metric-card-warning{border-color:#ffd8aa;background:#fffaf3}.metric-card-warning .ant-statistic-content{color:#c35b09}.dashboard-empty-card .ant-card-body{display:grid;min-height:132px;place-items:center}.quick-link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-link-card{display:flex;gap:14px;align-items:center;min-width:0;min-height:94px;padding:18px;border:1px solid #e4eaf1;border-radius:12px;background:#fff;box-shadow:0 5px 18px #22344f0a;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.quick-link-card:hover{border-color:#83b9ff;box-shadow:0 10px 28px #1677ff1a;transform:translateY(-1px)}.quick-link-icon{display:grid;flex:0 0 42px;height:42px;place-items:center;border-radius:11px;color:#1677ff;font-size:20px;background:#edf5ff}.quick-link-copy{display:flex;flex:1;flex-direction:column;min-width:0}.quick-link-copy .ant-typography{overflow-wrap:anywhere}.quick-link-arrow{flex:0 0 auto;color:#98a3b3}.empty-permission-icon{color:#aab3c0;font-size:30px}@media(max-width:1180px){.metric-grid-six,.metric-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:991px){.login-page{grid-template-columns:1fr}.login-introduction{display:none}.login-panel{min-height:100vh;background:radial-gradient(circle at 90% 8%,rgb(22 119 255 / 11%),transparent 34%),#f6f8fb}.app-sider{display:none}.mobile-menu-button{display:inline-flex}.app-header-context{margin-right:auto}.mobile-navigation-drawer .ant-drawer-body{padding:6px}}@media(max-width:760px){.app-header{padding:0 14px}.app-header-context .ant-tag,.account-name{display:none}.app-content{padding:20px 14px 36px}.page-heading{align-items:flex-start;flex-direction:column}.metric-grid-six,.metric-grid-five,.quick-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.login-panel{padding:16px}.login-card .ant-card-body{padding:26px 22px}.app-header-context>.ant-typography{display:none}.metric-grid-six,.metric-grid-five,.quick-link-grid{grid-template-columns:1fr}}@media print{.app-sider,.app-header,.page-actions{display:none!important}.app-content{width:100%;max-width:none;padding:0}}
