:root{--app-text: #0f172a;--app-muted-text: #5b667a;--app-background: radial-gradient(circle at top left, rgba(22, 119, 255, .18), transparent 28%), radial-gradient(circle at top right, rgba(19, 194, 194, .12), transparent 24%), linear-gradient(180deg, #f5f7fb 0%, #edf2f7 100%);--app-surface: rgba(255, 255, 255, .82);--app-surface-solid: #ffffff;--app-border: rgba(148, 163, 184, .2);--app-shadow: 0 18px 50px rgba(15, 23, 42, .08);--app-sider-bg: linear-gradient(180deg, #0f172a 0%, #111c44 100%);--app-sider-text: #ffffff;--app-sider-subtext: rgba(255, 255, 255, .72);--app-card-shadow: 0 14px 40px rgba(15, 23, 42, .06);color:var(--app-text);background:var(--app-background);font-family:SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--app-text: rgba(255, 255, 255, .88);--app-muted-text: rgba(255, 255, 255, .45);--app-background: radial-gradient(circle at top left, rgba(22, 119, 255, .14), transparent 24%), radial-gradient(circle at top right, rgba(22, 119, 255, .08), transparent 18%), linear-gradient(180deg, #141414 0%, #111111 100%);--app-surface: rgba(31, 31, 31, .88);--app-surface-solid: #1f1f1f;--app-border: rgba(255, 255, 255, .08);--app-shadow: 0 16px 40px rgba(0, 0, 0, .3);--app-sider-bg: linear-gradient(180deg, #141414 0%, #1a1a1a 100%);--app-sider-text: rgba(255, 255, 255, .88);--app-sider-subtext: rgba(255, 255, 255, .45);--app-card-shadow: 0 12px 32px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;color:var(--app-text);background:var(--app-background);transition:background .24s ease,color .24s ease}a{color:inherit;text-decoration:none}.app-shell{background:transparent}.app-sider{background:var(--app-sider-bg)!important;box-shadow:16px 0 40px #0f172a29;transition:background .24s ease,box-shadow .24s ease}.app-brand{color:var(--app-sider-text)}.app-header{display:flex;align-items:center;justify-content:space-between;margin:20px;padding:0 20px;background:var(--app-surface);border:1px solid var(--app-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;box-shadow:var(--app-shadow);transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease}.app-content{margin:0 20px 20px;transition:margin .22s ease;min-width:0}[data-compact=compact] .app-header{margin:16px;padding:0 16px;border-radius:14px}[data-compact=compact] .app-content{margin:0 16px 16px}[data-compact=compact] .page-card{border-radius:16px}.page-card{border:1px solid var(--app-border)!important;background:var(--app-surface-solid)!important;box-shadow:var(--app-card-shadow);transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease}.page-card .ant-card-body{background:transparent}.app-sider-mobile{min-height:100%}.app-header-left,.app-header-right,.app-user-trigger,.auth-stat-grid,.app-user-meta,.auth-layout,.auth-login-grid,.auth-hero-card,.auth-form-card{min-width:0}.ant-drawer-content,.ant-modal-content,.ant-select-dropdown,.ant-dropdown .ant-dropdown-menu,.ant-popover .ant-popover-inner{border:1px solid var(--app-border)}.ant-table-wrapper .ant-table{border-radius:16px;overflow:hidden}.dependency-table-compact .ant-table-thead>tr>th{padding:10px!important;font-size:12px}.dependency-table-compact .ant-table-tbody>tr>td{padding:10px!important;vertical-align:top}.dependency-table-compact .ant-tag{margin-bottom:0;font-size:12px;line-height:18px;padding-inline:6px}.ant-btn,.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-tag,.ant-table,.ant-breadcrumb,.ant-typography{transition:background-color .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease,transform .22s ease}.app-sider .ant-menu,.app-sider-mobile .ant-menu{transition:background-color .22s ease,color .22s ease}[data-theme-animating=true] .app-header,[data-theme-animating=true] .page-card,[data-theme-animating=true] .ant-btn,[data-theme-animating=true] .ant-input,[data-theme-animating=true] .ant-input-affix-wrapper,[data-theme-animating=true] .ant-select-selector,[data-theme-animating=true] .ant-table,[data-theme-animating=true] .ant-tag{animation:theme-switch-fade .28s ease}@keyframes theme-switch-fade{0%{opacity:.68;transform:translateY(4px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:960px){.app-header{margin:12px;padding:0 14px;min-height:auto;height:auto;align-items:flex-start;flex-direction:column;gap:12px}.app-content{margin:0 12px 12px}.app-user-meta{display:none}.auth-layout{padding:12px!important;place-items:stretch!important}.auth-login-grid{max-width:none!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.auth-hero-card{min-height:auto!important}}@media(max-width:640px){.app-header-right{width:100%}.app-header-right .ant-btn,.app-header-right .ant-space-item,.app-header-left{max-width:100%}.auth-form-card .ant-input-group-addon .ant-btn{padding-inline:10px}.auth-stat-grid .ant-card{min-width:100%!important}.ant-table-wrapper{overflow-x:auto}}
