:root{--primary:#1a6bff;--primary-light:#e8f0ff;--accent:#00b578;--warning:#ff8f1f;--danger:#ff4d4f;--text-strong:#1f2329;--text:#4e5969;--text-muted:#86909c;--border:#e5e6eb;--border-light:#f0f1f3;--bg-page:#f5f5f7;--bg-card:#fff;--bg-hover:#f7f8fa;--radius-md:8px;--radius-lg:10px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-card:0 1px 3px #0f172a0d, 0 1px 2px #0f172a08}*{box-sizing:border-box}html,body{background:var(--bg-page);min-height:100vh;color:var(--text-strong);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d9dbe0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c2c4cc}::-webkit-scrollbar-track{background:0 0}.admin-shell{background:var(--bg-page);min-height:100vh}.admin-sider{background:var(--bg-card)!important;border-right:1px solid var(--border-light)!important}.admin-header{box-shadow:var(--shadow-sm);background:var(--bg-card)!important;border-bottom:1px solid var(--border-light)!important}.admin-content{min-height:calc(100vh - 56px);padding:24px 28px}.admin-sidebar-logo{border-bottom:1px solid var(--border-light);flex-shrink:0;align-items:center;gap:10px;height:56px;display:flex;overflow:hidden}.admin-sidebar-logo--collapsed{padding:0 18px}.admin-sidebar-logo--expanded{padding:0 20px}.admin-sidebar-mark{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#1a6bff 0%,#4d8bff 100%);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 8px #1a6bff47}.admin-sidebar .ant-menu-inline .ant-menu-item,.admin-sidebar .ant-menu-inline .ant-menu-submenu-title{border-radius:var(--radius-md);width:calc(100% - 16px);margin-inline:8px}.admin-sidebar .ant-menu-inline .ant-menu-item-selected{font-weight:500}.admin-sidebar .ant-menu-inline .ant-menu-sub .ant-menu-item{padding-inline-start:40px!important}.admin-topbar{align-items:center;gap:12px;height:56px;padding:0 16px 0 8px;display:flex}.admin-topbar-toggle{width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:var(--radius-md);justify-content:center;align-items:center;font-size:18px;transition:background .2s,color .2s;display:inline-flex}.admin-topbar-toggle:hover{background:var(--bg-hover);color:var(--primary)}.admin-topbar-user{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:8px;height:40px;padding:4px 10px 4px 6px;transition:background .2s;display:flex}.admin-topbar-user:hover{background:var(--bg-hover)}.admin-topbar .ant-breadcrumb li:last-child{color:var(--text-strong);font-weight:500}.admin-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-page-header__title.ant-typography{letter-spacing:-.01em;font-weight:600;margin-bottom:4px!important}.admin-page-header__subtitle{color:var(--text-muted);font-size:13px}.admin-welcome-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fff 0%,#f8faff 100%);padding:20px 24px}.admin-scope-notice.ant-alert{border-radius:var(--radius-md);background:#f7faff;border:1px solid #d6e4ff;margin-bottom:16px}.admin-card{border-radius:var(--radius-lg)!important}.admin-filter-card{margin-bottom:16px;border-radius:var(--radius-lg)!important}.admin-filter-card .ant-form-inline .ant-form-item{margin-bottom:0}.admin-form-section{margin-bottom:16px;border-radius:var(--radius-lg)!important}.admin-sticky-card{position:sticky;top:72px;border-radius:var(--radius-lg)!important}.admin-kpi-card.ant-card{transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.admin-kpi-card.ant-card-hoverable:hover{transform:translateY(-2px)}.admin-kpi-card .ant-statistic-content-prefix{margin-inline-end:8px;font-size:20px}.admin-thumb{border-radius:var(--radius-md);object-fit:cover}.admin-thumb-placeholder{border-radius:var(--radius-md);background:var(--border-light);width:44px;height:44px}.admin-thumb-placeholder--sm{border-radius:var(--radius-md);background:var(--border-light);color:#c9cdd4;justify-content:center;align-items:center;width:40px;height:40px;font-size:12px;display:flex}.admin-region-rank-item{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.admin-region-rank-item:last-child{border-bottom:none}.admin-region-rank-item__index{background:var(--primary-light);width:22px;height:22px;color:var(--primary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.admin-placeholder-alert.ant-alert{border-radius:var(--radius-md);background:#f7faff;border:1px solid #d6e4ff;margin-bottom:16px}.admin-table-clickable .ant-table-tbody>tr{cursor:pointer}.admin-table-clickable .ant-table-tbody>tr:hover>td{background:#f2f6ff!important}.admin-content .ant-pagination{margin-top:4px}.admin-content .ant-drawer-header{border-bottom-color:var(--border-light)}.admin-content .ant-descriptions-bordered .ant-descriptions-item-label{color:var(--text-muted);background:#fafafb;font-weight:500}.admin-content .ant-tabs-nav{margin-bottom:12px}.admin-min-width-guard{background:var(--bg-page);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-tag{border-radius:6px}.admin-sticky-card .ant-card-body{padding:16px 20px}.admin-form-section .ant-card-head{background:linear-gradient(#fafbff 0%,#fff 100%)}.admin-block-gap,.admin-tab-card .ant-tabs-nav{margin-bottom:16px}.admin-perm-tree{border:1px solid var(--border-light);border-radius:var(--radius-md);background:#fafafb;max-height:360px;padding:12px;overflow-y:auto}.admin-perm-tree__group{margin-bottom:12px}.admin-perm-tree__group:last-child{margin-bottom:0}.admin-perm-tree__items{flex-wrap:wrap;gap:8px 16px;margin-top:6px;padding-left:24px;display:flex}.admin-drawer .ant-drawer-body{padding-top:8px}.admin-drawer .ant-drawer-header{border-bottom-color:var(--border-light)}.admin-forbidden-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);min-height:420px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:32px 24px;display:flex}.admin-sidebar .ant-menu-inline .ant-menu-item-selected{position:relative}.admin-sidebar .ant-menu-inline .ant-menu-item-selected:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.admin-content .ant-empty-description{color:var(--text-muted)}.admin-detail-link{color:var(--primary);font-weight:500;transition:opacity .2s}.admin-detail-link:hover{opacity:.85}.admin-text-secondary-sm{color:var(--text-muted);font-size:12px}.admin-page-loading{justify-content:center;align-items:center;padding:120px 24px;display:flex}.admin-quick-entry .ant-btn{min-width:112px}.ant-card{border:1px solid var(--border);box-shadow:var(--shadow-sm)}.ant-card-hoverable:hover{box-shadow:var(--shadow-card);border-color:#d9e8ff}.ant-card-head{border-bottom-color:var(--border-light);min-height:48px}.ant-card-head-title{font-size:15px;font-weight:600}.ant-table-sticky-holder{box-shadow:0 1px 0 var(--border)}.ant-table-thead>tr>th{font-weight:500}.ant-statistic-title{color:var(--text-muted);font-size:13px}.ant-statistic-content-value{letter-spacing:-.02em;font-weight:600}.num-mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.login-brand-panel{position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";pointer-events:none;background:#ffffff0f;border-radius:50%;position:absolute}.login-brand-panel:before{width:320px;height:320px;top:-80px;right:-60px}.login-brand-panel:after{width:200px;height:200px;bottom:40px;left:-40px}.login-feature-icon{border-radius:var(--radius-md);color:#fff;background:#ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;display:flex}.login-logo-mark{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff26;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:700;display:flex}.login-card{border:1px solid var(--border)!important;box-shadow:0 8px 32px #0f172a14!important}
