html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--qm-color-brand: #346dff;--qm-color-brand-hover: #245ef5;--qm-color-brand-active: #1c4fda;--qm-color-brand-soft: rgba(52, 109, 255, .12);--qm-color-page: #f4f7fb;--qm-color-page-accent: #eef3ff;--qm-color-surface: #ffffff;--qm-color-surface-alt: #f8faff;--qm-color-surface-raised: rgba(255, 255, 255, .92);--qm-color-border: #dbe5f2;--qm-color-border-strong: #c8d3e6;--qm-color-text: #162033;--qm-color-text-muted: #5f6f88;--qm-color-text-subtle: #8190a7;--qm-color-success: #2f9e5b;--qm-color-warning: #d88a18;--qm-color-error: #d84d57;--qm-color-overlay: rgba(14, 20, 33, .58);--qm-space-4: 4px;--qm-space-8: 8px;--qm-space-12: 12px;--qm-space-16: 16px;--qm-space-24: 24px;--qm-space-32: 32px;--qm-space-40: 40px;--qm-space-48: 48px;--qm-radius-xs: 8px;--qm-radius-sm: 12px;--qm-radius-md: 16px;--qm-radius-lg: 20px;--qm-radius-pill: 999px;--qm-shadow-subtle: 0 12px 28px -24px rgba(19, 30, 54, .35);--qm-shadow-elevated: 0 24px 56px -34px rgba(19, 30, 54, .4);--qm-shadow-overlay: 0 28px 80px -36px rgba(10, 16, 28, .48);--qm-font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--qm-header-height: 72px;--qm-layout-max-width: 1680px;--qm-layout-inset: 24px;--qm-layout-sidebar-width: 272px}html,body,#app{min-height:100%}html{background:radial-gradient(circle at top left,rgba(52,109,255,.08),transparent 38%),linear-gradient(180deg,#f8fafe 0%,var(--qm-color-page) 26%)}body{margin:0;background:transparent;color:var(--qm-color-text);font-family:var(--qm-font-family)}body,.ant-typography,.ant-btn,.ant-input,.ant-select,.ant-form,.ant-table,.ant-menu{font-family:var(--qm-font-family)}#app,.App{min-height:100vh}::selection{background:#346dff2e}.ant-layout{background:transparent}.ant-card,.ant-modal-content,.ant-drawer-content,.ant-popover-inner,.ant-dropdown .ant-dropdown-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ant-card,.ant-modal-content,.ant-drawer-content,.ant-popover-inner,.ant-dropdown .ant-dropdown-menu,.ant-select-dropdown,.ant-picker-dropdown{border:1px solid rgba(219,229,242,.92);box-shadow:var(--qm-shadow-subtle)}.ant-btn{transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s cubic-bezier(.22,1,.36,1),border-color .16s cubic-bezier(.22,1,.36,1),background-color .16s cubic-bezier(.22,1,.36,1)}.ant-btn:not(.ant-btn-text):not(.ant-btn-link):hover{transform:translateY(-1px);box-shadow:0 14px 24px -18px #233a6b59}.ant-btn-primary{background:linear-gradient(135deg,var(--qm-color-brand) 0%,#4f82ff 100%)}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker,.ant-input-number,.ant-input-number-affix-wrapper,.ant-mentions{box-shadow:inset 0 1px #fffc}.ant-tabs .ant-tabs-nav{margin-bottom:var(--qm-space-24)}.ant-tabs .ant-tabs-tab{padding:10px 4px}.ant-tabs .ant-tabs-tab-btn{font-weight:600}.ant-alert{border:1px solid rgba(52,109,255,.12)}.ant-table-wrapper .ant-table{border-radius:var(--qm-radius-sm)}.ant-table-wrapper .ant-table-container{border:1px solid var(--qm-color-border);border-radius:var(--qm-radius-sm);overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--qm-color-text-muted);text-transform:uppercase}.ant-table-wrapper .ant-table-tbody>tr>td{color:var(--qm-color-text)}.ant-table-pagination.ant-pagination{margin:var(--qm-space-16) 0 0}.ant-modal-header,.ant-drawer-header{border-bottom:1px solid var(--qm-color-border)}.ant-modal-footer,.ant-drawer-footer{border-top:1px solid var(--qm-color-border)}.app-shell__header{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--qm-header-height);padding:0 var(--qm-layout-inset);background:linear-gradient(120deg,#121f3bf5,#233c6deb 55%,#346dffe0),radial-gradient(circle at top left,rgba(132,168,255,.26),transparent 28%);border-bottom:1px solid rgba(145,173,255,.18);box-shadow:0 22px 48px -34px #0a101cad}.app-shell__header:after{content:"";position:absolute;inset:auto 24px 0;height:1px;background:linear-gradient(90deg,#fff0,#cbddff59,#fff0)}.app-shell__header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--qm-space-24);width:100%;max-width:calc(var(--qm-layout-max-width) + var(--qm-layout-inset) * 2);height:100%;margin:0 auto}.app-shell__cluster{display:flex;align-items:center;gap:var(--qm-space-16);min-width:0}.app-shell__brand{display:flex;align-items:center;gap:12px;min-width:0}.app-shell__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#fff3,#ffffff14);border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px #ffffff38;color:#fff;font-size:18px}.app-shell__brand-title{display:flex;flex-direction:column;gap:2px;min-width:0}.app-shell__eyebrow{color:#e2ebffbd;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.app-shell__brand-name{color:#fff;font-size:18px;font-weight:700;line-height:1.2}.app-shell__control{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.app-shell__control-label{color:#e9f0ffd6;font-size:12px;font-weight:600}.app-shell__header .ant-select-selector,.app-shell__header .ant-input-affix-wrapper{background:#ffffffeb!important;border-color:#ffffff1f!important}.app-shell__search{width:280px}.navbar-search-results{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto}.navbar-search-result-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:10px;cursor:pointer;transition:background .16s ease}.navbar-search-result-item:hover{background:#346dff14}.navbar-search-result-label{font-size:14px;font-weight:500;color:#172033}.navbar-search-result-route{font-size:11px;color:#9aa4b2;font-family:monospace;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app-shell__actions{display:flex;align-items:center;gap:12px}.app-shell__ghost-button.ant-btn{color:#f8fbff;border-color:#ffffff1f;background:#ffffff14;box-shadow:none}.app-shell__ghost-button.ant-btn:hover,.app-shell__ghost-button.ant-btn:focus{color:#fff!important;border-color:#fff3!important;background:#ffffff29!important}.app-shell__user-trigger{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;cursor:pointer;transition:background-color .16s cubic-bezier(.22,1,.36,1)}.app-shell__user-trigger:hover{background:#ffffff1a}.app-shell__user-name{color:#fff!important;font-size:14px;font-weight:600}.app-shell__frame{padding-top:var(--qm-header-height);min-height:100vh}.app-shell__content{min-height:calc(100vh - var(--qm-header-height))}.app-shell__main{background:transparent}.app-shell__main-content{min-height:calc(100vh - var(--qm-header-height));padding:0;background:transparent!important}.app-shell__outlet{min-height:calc(100vh - var(--qm-header-height))}@media(max-width:1280px){.app-shell__search{width:220px}}@media(max-width:1024px){.app-shell__header{padding-inline:16px}.app-shell__header-inner{gap:16px}.app-shell__brand-title,.app-shell__control-label,.app-shell__user-name{display:none}}@media(max-width:768px){.app-shell__frame{padding-top:64px}.app-shell__header{height:64px;padding-inline:12px}.app-shell__cluster,.app-shell__actions{gap:8px}.app-shell__control,.app-shell__search{display:none}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--primary-color: var(--qm-color-brand);--success-color: var(--qm-color-success);--warning-color: var(--qm-color-warning);--error-color: var(--qm-color-error);--text-color: var(--qm-color-text);--text-color-secondary: var(--qm-color-text-muted);--border-color: var(--qm-color-border);--background-color: var(--qm-color-page)}.layout-container{min-height:100vh;display:flex;flex-direction:column}.layout-header{background:transparent;box-shadow:none}.layout-content{flex:1;display:flex;overflow:hidden}.layout-sider{background:transparent;border-right:1px solid var(--border-color);box-shadow:none}.layout-main{flex:1;background:var(--background-color);overflow-y:auto}.campus-info-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:360px;gap:20px}.campus-info-loading-text{color:#8b96a6;font-size:14px;letter-spacing:.04em}.campus-info-grid{margin-bottom:16px}.campus-info-card.ant-card{position:relative;overflow:hidden;height:100%;border:1px solid rgba(15,23,42,.08);border-radius:16px;background:linear-gradient(180deg,#fff,#f9fbfffa),linear-gradient(90deg,var(--campus-accent, #1890ff),var(--campus-accent, #1890ff));box-shadow:0 10px 24px #0f172a0f;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}.campus-info-card.ant-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px #0f172a1a}.campus-info-card.ant-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--campus-accent, #1890ff),color-mix(in srgb,var(--campus-accent, #1890ff) 60%,white))}.campus-info-card .ant-card-body{padding:12px 16px 8px}.campus-info-card .ant-card-actions{background:#f6f8fce6;border-top:1px solid rgba(15,23,42,.06)}.campus-info-card .ant-card-actions>li{margin:2px 0}.campus-info-card .ant-card-actions .ant-btn{color:#485567;font-size:12px}.campus-info-card .ant-card-actions .ant-btn:hover{color:#1677ff}.campus-info-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.campus-info-card-label{display:inline-block;margin-bottom:2px;color:#8b96a6;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.campus-info-card-title.ant-typography{margin:0!important;color:#172033;font-size:16px;line-height:1.3}.campus-info-color-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid rgba(15,23,42,.06);border-radius:999px;background:#ffffffe6;flex-shrink:0}.campus-info-color-dot{width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px #0f172a0f;flex-shrink:0}.campus-info-color-text{color:#536071;font-size:10px}.campus-info-card-body{width:100%}.campus-info-link-row{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border:1px solid rgba(15,23,42,.06);border-radius:10px;background:#f8fafde6;transition:background .18s ease}.campus-info-link-row:hover{background:#f8fafd}.campus-info-link-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;font-size:14px;flex-shrink:0}.campus-info-link-icon-web{color:#1677ff;background:#1677ff1a}.campus-info-link-icon-mobile{color:#389e0d;background:#52c41a1f}.campus-info-link-content{min-width:0;flex:1}.campus-info-link-label{display:block;margin-bottom:2px;color:#8b96a6;font-size:10px}.campus-info-link{display:block;overflow:hidden;color:#172033;font-size:13px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;transition:color .2s ease}.campus-info-link:hover{color:#1677ff}.campus-info-link-mobile:hover{color:#389e0d}.campus-info-link-empty{color:#9aa4b2!important;font-size:13px}.campus-stats-grid .campus-stat-card.ant-card{border:1px solid rgba(15,23,42,.06);border-radius:16px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:0 6px 16px #0f172a0a;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}.campus-stats-grid .campus-stat-card.ant-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0f172a12}.campus-stats-grid .campus-stat-card.ant-card.success{background:linear-gradient(180deg,#fff,#f6fff6)}.campus-stats-grid .campus-stat-card.ant-card.warning{background:linear-gradient(180deg,#fff,#fffaf2)}.campus-stats-grid .campus-stat-card.ant-card.purple{background:linear-gradient(180deg,#fff,#faf6ff)}.campus-stat-card .ant-card-body{padding:18px 20px}.campus-stat-card .ant-statistic{position:relative}.campus-stat-card .ant-statistic:after{content:"";position:absolute;inset:auto 0 -6px;height:3px;border-radius:999px;background:linear-gradient(90deg,#1890ffd9,#1890ff26);transition:opacity .2s ease;opacity:.7}.campus-stat-card:hover .ant-statistic:after{opacity:1}.campus-stat-card.success .ant-statistic:after{background:linear-gradient(90deg,#52c41ad9,#52c41a26)}.campus-stat-card.warning .ant-statistic:after{background:linear-gradient(90deg,#faad14d9,#faad1426)}.campus-stat-card.purple .ant-statistic:after{background:linear-gradient(90deg,#722ed1d9,#722ed126)}.campus-stat-card .ant-statistic-content{color:#172033;font-weight:700}.campus-stat-card .ant-statistic-content-prefix{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:10px;border-radius:10px;font-size:16px;color:#4d6fff;background:#4d6fff1a}.campus-stat-card.success .ant-statistic-content-prefix{color:#52c41a;background:#52c41a1f}.campus-stat-card.warning .ant-statistic-content-prefix{color:#faad14;background:#faad1424}.campus-stat-card.purple .ant-statistic-content-prefix{color:#722ed1;background:#722ed11a}.campus-stat-card .ant-statistic-title{margin-bottom:10px;color:#7b8794;font-size:13px;font-weight:500}.campus-stat-card .ant-statistic-content{font-size:26px}.campus-detail-modal{padding-top:8px}.campus-detail-list{width:100%}.campus-detail-item{padding:16px 18px;border:1px solid rgba(15,23,42,.06);border-radius:14px;background:#f8fafde0}.campus-detail-label{display:block;margin-bottom:8px;color:#5f6b7a}.campus-detail-value{color:#172033}.campus-detail-link-block{display:flex;flex-direction:column;gap:10px}.campus-detail-link{display:inline-flex;width:fit-content;color:#1677ff;text-decoration:none}.campus-detail-link-mobile{color:#389e0d}.campus-detail-color-block{display:inline-flex;align-items:center;gap:10px}.ant-table-cell-fix-left:after,.ant-table-cell-fix-right:before{opacity:1!important;box-shadow:inset 10px 0 8px -8px #00000026!important}.ant-table-cell-fix-right:before{box-shadow:inset -10px 0 8px -8px #00000026!important}.ant-table-body .ant-table-cell-fix-left:after,.ant-table-body .ant-table-cell-fix-right:before{opacity:1!important}.ant-table-thead .ant-table-cell-fix-left:after,.ant-table-thead .ant-table-cell-fix-right:before{opacity:1!important}.ant-table-container .ant-table-cell-fix-left:after,.ant-table-container .ant-table-cell-fix-right:before{opacity:1!important}.ant-table-cell-fix-left:hover:after,.ant-table-cell-fix-right:hover:before{opacity:1!important}.ant-table-scroll .ant-table-cell-fix-left:after,.ant-table-scroll .ant-table-cell-fix-right:before{opacity:1!important}.ant-table-tbody>tr.ant-table-row:hover>td{background:#e6f7ff!important}.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td{border-inline-end:1px solid #b0b0b0!important;border-bottom:1px solid #b0b0b0!important}.ant-table-bordered>.ant-table-container{border-inline-start:1px solid #b0b0b0!important;border-top:1px solid #b0b0b0!important}@media screen and (max-width:768px){.campus-info-card .ant-card-body{padding:10px 14px 6px}.campus-info-card-head{flex-direction:column}.campus-info-card-title.ant-typography{font-size:15px}.campus-info-link-row{padding:6px 10px}.campus-stat-card .ant-card-body{padding:14px}html,body{overflow-x:hidden;-webkit-text-size-adjust:100%}.ant-select{font-size:14px!important}.ant-input{font-size:16px!important}.ant-btn{min-height:36px}.ant-form-item{margin-bottom:12px}.ant-form-item-label{padding-bottom:2px!important}.ant-form-item-label>label{font-size:13px!important;color:#666!important}.ant-modal{max-width:calc(100vw - 32px)!important;margin:16px auto!important}.ant-modal .ant-modal-body{max-height:60vh;overflow-y:auto}.ant-message{top:16px!important}.ant-picker{width:100%!important}.ant-select-selector,.ant-input,.ant-picker{min-height:36px!important}}
