*{box-sizing:border-box}html,body,#app{min-width:0;min-height:100%;margin:0;background:#f4f7fb;color:#172033}body{font-family:Inter,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}:focus-visible{outline:2px solid #1f6feb;outline-offset:2px}.admin-shell{min-height:100vh}.admin-sider{background:#10233f!important}.brand{display:flex;align-items:center;gap:12px;height:64px;padding:0 16px;color:#fff}.brand--collapsed{justify-content:center;padding:0}.brand__mark{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border-radius:8px;background:#1f6feb;color:#fff;font-weight:800}.brand__text{display:grid;min-width:0;line-height:1.2}.brand__text span,.login-brand span,.header-title span,.metric-card__hint,.page-heading p{color:#6b7689;font-size:13px}.admin-header{display:flex;align-items:center;gap:14px;height:64px;line-height:normal;padding:0 20px!important;background:#fff!important;border-bottom:1px solid #e5eaf2}.header-title{display:grid;min-width:0;line-height:1.25}.header-title strong{font-size:16px}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto;line-height:normal}.admin-content{min-width:0;padding:20px;overflow:auto}.admin-mobile-drawer .ant-drawer-body{padding:0}.admin-mobile-brand{border-bottom:1px solid #e5eaf2;color:#172033}.admin-mobile-brand .brand__text span{color:#6b7689}.icon-button{display:inline-grid;width:36px;height:36px;place-items:center;border:1px solid #dce3ee;border-radius:6px;background:#fff;color:#26364f;cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.icon-button:hover{border-color:#8cb8f2;background:#f5f9ff;color:#1f6feb}.identity-switcher{display:grid;min-width:150px;padding:6px 10px;border:1px solid #dce3ee;border-radius:6px;background:#fff;line-height:1.3;text-align:left;cursor:pointer}.identity-switcher:disabled{cursor:wait;opacity:.72}.identity-switcher__name{color:#172033;font-size:13px;font-weight:700}.identity-switcher__role,.identity-item small{color:#7a8798;font-size:12px}.identity-item{display:grid;gap:2px}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#f5f8fc,#eaf2ff 45%,#f8fbff)}.login-panel{width:min(420px,100%);padding:28px;border:1px solid #e2e8f3;border-radius:8px;background:#fff;box-shadow:0 18px 60px #1f6feb1f}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.login-brand strong{display:block;font-size:22px}.page-stack{display:grid;gap:16px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.page-heading h1{margin:0;font-size:22px;line-height:1.25}.page-heading p{margin:6px 0 0}.page-heading__copy{min-width:0}.page-heading__eyebrow{margin-bottom:5px;color:#1f6feb;font-size:12px;font-weight:700}.page-heading__actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card{min-height:112px;padding:18px;border:1px solid #e4ebf5;border-radius:8px;background:#fff}.metric-card__label{color:#6b7689;font-size:13px}.metric-card__value{margin-top:8px;color:#12213a;font-size:28px;font-weight:800}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.center-page{display:grid;min-height:100vh;place-items:center}.standard-empty{display:grid;min-height:220px;padding:40px 20px;place-items:center}.standard-empty__description{display:grid;gap:6px;max-width:520px;color:#5f6c80}.standard-empty__description strong{color:#26364f;font-size:15px}.standard-empty--compact{min-height:140px;padding-block:20px}.status-tag{margin-inline-end:0;white-space:nowrap}.error-retry-alert,.search-table{min-width:0}.search-table__toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.search-table__filters,.search-table__actions{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.standard-drawer__footer{display:flex;justify-content:flex-end;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-loading{min-height:320px;padding:28px;border:1px solid #e5eaf2;border-radius:8px;background:#fff}.module-shell .ant-descriptions{margin-bottom:8px}.ant-table-wrapper{min-width:0}.ant-table-wrapper .ant-table-content{overflow-x:auto}.ant-table-wrapper .ant-table-cell{vertical-align:middle}.ant-form-vertical .ant-form-item-label>label{color:#344054;font-weight:600}.ant-drawer-content-wrapper{max-width:100vw}.ant-drawer .ant-drawer-header,.ant-drawer .ant-drawer-footer{padding-inline:20px}.ant-drawer .ant-drawer-body{padding:20px}.ant-modal{max-width:calc(100vw - 32px)}.full-width{width:100%}@media(max-width:900px){.admin-shell>.ant-layout,.admin-content{min-width:0}.admin-header{gap:8px;padding:0 10px!important}.header-title{overflow:hidden}.header-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-title span,.identity-switcher__role{display:none}.identity-switcher{width:92px;min-width:0}.identity-switcher__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-grid,.content-grid{grid-template-columns:1fr}.admin-content{padding:12px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading__actions{width:100%;flex-wrap:wrap}.module-shell .ant-descriptions-view{overflow-x:auto}.search-table__toolbar{align-items:stretch;flex-direction:column}.search-table__actions{justify-content:flex-start}}@media(max-width:560px){.admin-header .header-title{display:none}.header-actions{min-width:0}.identity-switcher{width:min(42vw,150px)}.page-heading h1{font-size:20px}.standard-empty{min-height:180px;padding:28px 12px}.search-table__filters,.search-table__actions{width:100%}.search-table__filters>*,.search-table__actions>*{max-width:100%}.standard-drawer .ant-drawer-body,.standard-drawer .ant-drawer-header,.standard-drawer .ant-drawer-footer{padding-inline:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
