html,body,#root{background:#f5f7fa;width:100%;height:100%;min-height:100%;margin:0;font-family:PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;overflow:hidden}*{box-sizing:border-box}.app-shell{height:100dvh;min-height:100dvh;overflow:hidden}.app-sider.ant-layout-sider{border-right:1px solid #f0f0f0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.app-logo{flex-direction:column;flex-shrink:0;gap:4px;padding:24px 20px 16px;display:flex}.app-menu.ant-menu{overscroll-behavior:contain;flex:1;min-height:0;padding-bottom:20px;overflow:hidden auto}.app-main-layout{min-width:0;height:100%;min-height:0;overflow:hidden}.app-header{background:#fff;border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:12px 24px;line-height:1.4;display:flex;overflow:hidden}.app-header-title{flex-direction:column;justify-content:center;gap:4px;min-width:0;display:flex}.app-header-title .ant-typography{line-height:1.25}.app-content{flex:1;min-height:0;padding:24px;overflow:hidden}.app-content-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;min-width:0;height:100%;min-height:0;overflow:hidden auto}.ant-modal-wrap,.ant-modal-body,.ant-drawer-body{overscroll-behavior:contain}body.app-overlay-open,body.app-overlay-open #root .app-content-scroll{overflow:hidden}.app-loading-screen{place-items:center;width:100%;height:100%;min-height:100%;padding:32px 20px;display:grid}.app-loading-screen__content{flex-direction:column;align-items:center;gap:14px;width:min(100%,240px);display:flex}.app-loading-screen__symbol{place-items:center;width:72px;height:72px;display:grid;position:relative}.app-loading-screen__halo{border:1px solid #1677ff29;border-radius:50%;animation:2s ease-out infinite app-loader-pulse;position:absolute;inset:0}.app-loading-screen__halo--delay{animation-delay:1s}.app-loading-screen__mark{background:linear-gradient(135deg,#1677ff 0%,#36cfc9 100%);border-radius:999px;place-items:center;width:28px;height:28px;display:grid;position:relative;box-shadow:0 10px 24px #1677ff2e}.app-loading-screen__mark:before{content:"";border:2px solid #0000;border-top-color:#1677ffd1;border-radius:50%;animation:.95s linear infinite app-loader-spin;position:absolute;inset:-10px}.app-loading-screen__mark-core{background:#fffffff5;border-radius:50%;width:10px;height:10px}.app-loading-screen__title{color:#183153;letter-spacing:.01em;text-align:center;font-size:18px;font-weight:700}.app-loading-screen__subtitle{color:#70839a;text-align:center;font-size:12px;line-height:1.6}.app-loading-screen__dots{align-items:center;gap:6px;height:10px;display:inline-flex}.app-loading-screen__dots span{background:#1677ff3d;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite app-loader-dot}.app-loading-screen__dots span:nth-child(2){animation-delay:.18s}.app-loading-screen__dots span:nth-child(3){animation-delay:.36s}@keyframes app-loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes app-loader-pulse{0%{opacity:0;transform:scale(.78)}35%{opacity:.58}to{opacity:0;transform:scale(1.18)}}@keyframes app-loader-dot{0%,to{opacity:.35;transform:translateY(0)}50%{opacity:1;background:#1677ff;transform:translateY(-3px)}}.login-page{background:radial-gradient(circle at 18% 18%,#1677ff29,#0000 0 28%),radial-gradient(circle at 85% 20%,#36cfc91f,#0000 0 24%),linear-gradient(#f6f9ff 0%,#f9fbff 42%,#f2f6ff 100%);justify-content:center;align-items:center;height:100dvh;min-height:100dvh;padding:clamp(24px,4vw,40px);display:flex;position:relative;overflow:hidden auto}.login-page__glow{filter:blur(28px);opacity:.82;pointer-events:none;border-radius:999px;position:absolute}.login-page__glow--left{background:radial-gradient(circle,#1677ff3d 0%,#1677ff00 72%);width:min(32vw,440px);height:min(32vw,440px);top:6%;left:-4%}.login-page__glow--right{background:radial-gradient(circle,#36cfc933 0%,#36cfc900 70%);width:min(38vw,520px);height:min(38vw,520px);bottom:-10%;right:-8%}.login-page__grid{pointer-events:none;opacity:.3;background-image:linear-gradient(#1677ff0d 1px,#0000 1px),linear-gradient(90deg,#1677ff0d 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 24%,#00000029 68%,#0000 88%);mask-image:radial-gradient(circle,#000 24%,#00000029 68%,#0000 88%)}.login-layout{z-index:1;grid-template-columns:minmax(0,1fr) minmax(360px,428px);align-items:center;gap:clamp(32px,6vw,88px);width:min(1120px,100%);margin-block:auto;display:grid;position:relative}.login-hero{flex-direction:column;gap:18px;max-width:560px;display:flex}.login-brand{align-items:center;gap:14px;display:flex}.login-brand-mark{background:conic-gradient(from 180deg,#1677ff 0deg,#36cfc9 120deg,#2f54eb 260deg,#1677ff 360deg);border-radius:999px;flex:0 0 18px;width:18px;height:18px;box-shadow:0 0 0 6px #1677ff1f}.login-brand-name{color:#1f2f46;letter-spacing:.08em;margin-bottom:2px;font-size:20px;font-weight:700;display:block}.login-brand-caption{color:#1f2f4694;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:12px}.login-hero-title.ant-typography{color:#16243a;letter-spacing:-.03em;margin:0;font-size:clamp(40px,5vw,58px);font-weight:700;line-height:1.04}.login-hero-subtitle.ant-typography{color:#60738a;max-width:460px;margin:0;font-size:17px;line-height:1.72}.login-hero-points{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:12px;display:grid}.login-hero-point{border-top:1px solid #1677ff1f;align-items:flex-start;gap:12px;min-width:0;padding-top:16px;display:flex}.login-hero-point-icon{color:#1677ff;margin-top:2px;font-size:18px}.login-hero-point-title{color:#22324d;font-weight:600;line-height:1.4;display:block}.login-hero-point-text.ant-typography{color:#6d7f96;margin:4px 0 0;font-size:13px;line-height:1.65}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #1677ff14;border-radius:28px;width:100%;max-width:428px;box-shadow:0 26px 64px #1f39631f}.login-card .ant-card-body{padding:clamp(28px,3vw,38px)}.login-card-header{margin-bottom:24px}.login-card-kicker{color:#1677ff;letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:700}.login-card-title.ant-typography{color:#16243a;margin:10px 0 6px;font-size:30px;line-height:1.15}.login-card-description.ant-typography{color:#72839a;margin:0;font-size:14px;line-height:1.7}.login-card .ant-alert{border-radius:16px;margin-bottom:18px}.login-form .ant-form-item{margin-bottom:18px}.login-form .ant-form-item-label>label{color:#22324d;font-weight:600}.login-form .ant-input-affix-wrapper,.login-form .ant-input{box-shadow:none;background:#f7fafff5;border-color:#1677ff1f;border-radius:16px;transition:border-color .2s,box-shadow .2s,background-color .2s}.login-form .ant-input-affix-wrapper{min-height:52px;padding-inline:14px}.login-form .ant-input{min-height:50px}.login-form .ant-input-affix-wrapper:hover,.login-form .ant-input:hover{background:#fff;border-color:#1677ff47}.login-form .ant-input-affix-wrapper:focus-within,.login-form .ant-input:focus,.login-form .ant-input-affix-wrapper-focused{background:#fff;border-color:#1677ff8f;box-shadow:0 0 0 4px #1677ff1a}.login-form .ant-input-prefix{color:#8a98ad;margin-inline-end:10px;font-size:15px}.login-submit.ant-btn{background:linear-gradient(135deg,#1677ff 0%,#2f54eb 100%);border:none;border-radius:16px;height:52px;margin-top:8px;font-size:15px;font-weight:600;box-shadow:0 18px 36px #1677ff3d}.login-submit.ant-btn:hover,.login-submit.ant-btn:focus-visible{background:linear-gradient(135deg,#1668dc 0%,#1d39c4 100%);box-shadow:0 20px 42px #1677ff47}.login-submit.ant-btn:disabled,.login-submit.ant-btn.ant-btn-loading{background:linear-gradient(135deg,#1677ff 0%,#2f54eb 100%)}.login-card-footer{color:#7a889d;border-top:1px solid #1677ff14;align-items:center;gap:8px;margin-top:18px;padding-top:18px;font-size:13px;display:flex}.login-card-footer .ant-typography{color:inherit}@media (width<=960px){.login-layout{grid-template-columns:minmax(0,1fr);gap:28px}.login-hero{max-width:none}.login-hero-points{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.login-page{align-items:stretch}.login-layout{align-self:center;gap:24px;margin-block:0}.login-hero-title.ant-typography{font-size:38px}.login-hero-points{grid-template-columns:1fr;gap:12px}.login-card{max-width:none}}@media (width<=560px){.login-page{padding:18px}.login-brand-name{font-size:18px}.login-hero-title.ant-typography{font-size:32px}.login-hero-subtitle.ant-typography{font-size:15px}.login-card .ant-card-body{padding:24px 20px}}.app-search-form.ant-form-inline{flex-wrap:wrap;align-items:center;gap:10px 14px;width:100%;display:flex}.app-search-form.ant-form-inline .ant-form-item{margin-inline-end:0;min-height:36px;margin-bottom:0}.app-search-form.ant-form-inline .ant-form-item-row{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.app-search-form.ant-form-inline .ant-form-item-label{padding:0;line-height:36px}.app-search-form.ant-form-inline .ant-form-item-label>label{color:#000000e0;height:36px;font-size:14px;font-weight:600}.app-search-form.ant-form-inline .ant-form-item-control{min-width:0}.app-search-form.ant-form-inline .ant-form-item-control-input,.app-search-form.ant-form-inline .ant-form-item-control-input-content{min-height:36px}.app-search-form.ant-form-inline .ant-input,.app-search-form.ant-form-inline .ant-input-affix-wrapper,.app-search-form.ant-form-inline .ant-select-selector,.app-search-form.ant-form-inline .ant-picker{border-radius:8px}.app-search-form.ant-form-inline .ant-input,.app-search-form.ant-form-inline .ant-input-affix-wrapper,.app-search-form.ant-form-inline .ant-picker,.app-search-form.ant-form-inline .ant-btn,.app-search-form.ant-form-inline .ant-select-single,.app-search-form.ant-form-inline .ant-select-selector{height:36px}.app-search-form.ant-form-inline .ant-select-single .ant-select-selector{min-height:36px;padding-block:0;padding-inline:11px}.app-search-form.ant-form-inline .ant-select-single .ant-select-selection-wrap,.app-search-form.ant-form-inline .ant-select-single .ant-select-selection-search,.app-search-form.ant-form-inline .ant-select-single .ant-select-selection-item,.app-search-form.ant-form-inline .ant-select-single .ant-select-selection-placeholder{line-height:34px}.app-search-form.ant-form-inline .ant-input,.app-search-form.ant-form-inline .ant-input-affix-wrapper{padding-block:0}.app-search-form.ant-form-inline .ant-input,.app-search-form.ant-form-inline .ant-input-affix-wrapper>input{height:34px;font-size:14px}.app-search-form.ant-form-inline .ant-picker{padding-block:0}.app-search-form.ant-form-inline .ant-picker .ant-picker-input>input{height:34px;font-size:14px}.app-search-form.ant-form-inline .ant-btn{border-radius:8px;height:36px;padding-inline:18px;font-weight:600}.app-search-form.ant-form-inline .app-search-form-actions{margin-inline-start:auto}.app-search-form.ant-form-inline .app-search-form-actions .ant-form-item-control-input-content{align-items:center;display:flex}.app-search-form.ant-form-inline .app-search-form-actions .ant-space{gap:8px}.app-content-scroll>.ant-space{width:100%;min-width:0}.app-content-scroll>.ant-space>.ant-space-item{min-width:0}.app-content-scroll .ant-row{margin-left:0!important;margin-right:0!important}.dashboard-page{width:100%;min-width:0}.dashboard-page>.ant-space-item{min-width:0}.dashboard-title.ant-typography{margin:0}.dashboard-hero-card{background:linear-gradient(135deg,#1677ff14 0%,#36cfc90f 100%);border:none}.dashboard-hero-stack{width:100%}.dashboard-stat-card,.dashboard-action-card{border:1px solid color-mix(in srgb, var(--dashboard-tone) 14%, #fff);background:color-mix(in srgb, var(--dashboard-tone) 6%, #fff);height:100%}.dashboard-stat-card{border-radius:8px;min-height:124px;padding:16px}.dashboard-stat-card__content{width:100%}.dashboard-action-card{border-radius:8px;padding:16px}.dashboard-chart-progress{width:100%;margin-top:12px}.dashboard-track-list{width:100%}.dashboard-track-item{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:12px 14px}.dashboard-track-item--primary{background:#1677ff14}@media (width<=1440px){.app-search-form.ant-form-inline .app-search-form-actions{margin-inline-start:0}}
