:root{font-family:Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--app-text);background:var(--app-background);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;min-height:100vh;line-height:1.5;color:var(--app-text);background:var(--app-background);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top left,var(--app-hero-a),transparent 40%),radial-gradient(circle at top right,var(--app-hero-b),transparent 40%);pointer-events:none;opacity:.2}a{color:inherit;text-decoration:none}.admin-shell{min-height:100vh;background:var(--app-bg)!important}.admin-shell__sider{background:var(--app-bg)!important;border-inline-end:1px solid var(--app-border)}.admin-shell__logo{display:flex;gap:12px;align-items:center;padding:20px 16px 16px}.admin-shell__logo-mark,.admin-shell__avatar{display:grid;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--app-brand-start),var(--app-brand-end))}.admin-shell__logo-title{font-size:16px;font-weight:600}.admin-shell__menu{border-inline-end:none!important;background:transparent!important;padding:4px 8px 16px}.admin-shell__main{background:var(--app-bg)!important}.admin-shell__header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 20px;line-height:1;border-bottom:1px solid var(--app-border);background:var(--app-bg)!important}.admin-shell__header-left{display:flex;gap:12px;align-items:center}.admin-shell__header-right{display:flex;align-items:center;gap:4px}.admin-shell__header-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0!important;border:none!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:var(--app-text-secondary)!important}.admin-shell__header-btn:hover,.admin-shell__header-btn:focus-visible{color:var(--app-text)!important;background:var(--app-surface-subtle)!important;box-shadow:none!important}.admin-shell__content{padding:0;background:transparent!important}.admin-shell__breadcrumbs{padding:16px 24px 0}.page-surface{display:grid;gap:24px;padding:20px 24px 32px}.page-surface--center{place-items:center;min-height:360px}.page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--app-border)}.page-header__main{max-width:760px}.metric-card,.content-card,.login-card{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important}.table-cell-stack{display:grid;gap:4px}.app-table-card{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:transparent;border:none;border-radius:0}.app-table-card-fill{min-height:clamp(360px,calc(100vh - 280px),680px)}.app-table-card-body{display:flex;flex:1;flex-direction:column;gap:16px;min-height:0;padding:16px 0}.app-table-card-toolbar,.app-table-card-content-before,.app-table-card-footer,.app-table-card-footer-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.app-table-card-toolbar{justify-content:space-between}.app-table-card-viewport{display:flex;flex:1;min-height:0}.app-table-card-empty-loading{display:grid;min-height:220px;place-items:center}.app-table-card-footer{justify-content:space-between;padding-top:12px;padding-bottom:12px;border-top:1px solid var(--app-border);color:var(--app-text-secondary)}.app-table-card-footer-actions{justify-content:flex-end}.app-table-card-page-size{width:var(--app-table-page-size-width)}.app-table-card-page-size .ant-select-selector{min-height:var(--app-table-page-size-height)!important}.app-table-card-ellipsis{padding-inline:6px}.app-table-card-toolbar__search{width:min(100%,280px)}.app-table-card-toolbar__filter{width:168px}.app-data-table .ant-table,.app-data-table .ant-table-container,.app-data-table .ant-table-content,.app-data-table .ant-table-header,.app-data-table .ant-table-body{background:transparent}.app-data-table .ant-table-container{overflow:hidden;border:1px solid var(--app-table-head-border);border-radius:18px;background:color-mix(in srgb,var(--app-surface) 92%,transparent)}.app-data-table .ant-table-header{background:var(--app-table-head-scrollbar-bg)}.app-data-table .ant-table-thead>tr>th{position:relative;color:var(--app-text-secondary)!important;font-size:var(--app-table-head-font-size);font-weight:var(--app-table-head-font-weight);background:var(--app-table-head-bg)!important;border-bottom:1px solid var(--app-table-head-border)!important}.app-data-table .ant-table-thead>tr>th:not(:last-child):after{content:"";position:absolute;top:var(--app-table-head-divider-inset);right:0;bottom:var(--app-table-head-divider-inset);width:var(--app-table-head-divider-width);border-radius:var(--app-table-head-divider-radius);background:var(--app-table-head-divider);opacity:var(--app-table-head-divider-opacity)}.app-data-table .ant-table-tbody>tr>td{padding-block:14px!important;font-size:var(--app-table-body-font-size);line-height:var(--app-table-line-height);vertical-align:var(--app-table-cell-vertical-align);color:var(--app-text);border-bottom:1px solid var(--app-table-row-border)!important;background:transparent}.app-data-table .ant-table-tbody>tr.ant-table-row:hover>td{background:var(--app-table-row-hover)!important}.app-data-table .ant-empty{margin-block:40px}.app-table-card-viewport .ant-table-body::-webkit-scrollbar,.app-table-card-viewport .ant-table-content::-webkit-scrollbar,.app-table-card-viewport .ant-table-header::-webkit-scrollbar{width:var(--app-table-scrollbar-size);height:var(--app-table-scrollbar-size)}.app-table-card-viewport .ant-table-body::-webkit-scrollbar-thumb,.app-table-card-viewport .ant-table-content::-webkit-scrollbar-thumb,.app-table-card-viewport .ant-table-header::-webkit-scrollbar-thumb{background:var(--app-table-scrollbar-thumb);border-radius:999px}.app-table-card-viewport .ant-table-body::-webkit-scrollbar-thumb:hover,.app-table-card-viewport .ant-table-content::-webkit-scrollbar-thumb:hover,.app-table-card-viewport .ant-table-header::-webkit-scrollbar-thumb:hover{background:var(--app-table-scrollbar-thumb-hover)}.app-table-card-viewport .ant-table-body::-webkit-scrollbar-track,.app-table-card-viewport .ant-table-content::-webkit-scrollbar-track,.app-table-card-viewport .ant-table-header::-webkit-scrollbar-track{background:var(--app-table-scrollbar-track)}.app-table-card-footer .ant-btn{min-width:var(--app-table-pagination-button-size);height:var(--app-table-pagination-button-size);border-color:var(--app-table-pagination-border);background:var(--app-table-pagination-bg);color:var(--app-table-pagination-text);box-shadow:none}.app-table-card-footer .ant-btn:not(:disabled):hover{border-color:var(--app-border-strong);background:var(--app-table-pagination-hover-bg);color:var(--app-table-pagination-text)}.app-table-card-footer .ant-btn-primary,.app-table-card-footer .ant-btn-primary:not(:disabled):hover{color:var(--app-primary-button-text);border-color:var(--app-primary-button-border);background:var(--app-primary-button-bg)}.settings-stack,.settings-stack-wide{width:100%}.settings-select{width:100%;margin-top:8px}.settings-context-tags{margin-top:12px}.metrics-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-link{display:flex;width:100%;justify-content:space-between;align-items:center;color:var(--app-text);font-weight:500}.software-toolbar__search{width:min(100%,320px)}.software-toolbar__select,.software-toolbar__filter,.software-date-picker{width:180px}.software-number-input{width:100%}.software-form-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.software-form-grid__full{grid-column:1 / -1}.software-switch-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.software-form-help{margin-bottom:0}@media(max-width:960px){.software-form-grid,.software-switch-grid{grid-template-columns:1fr}}.login-page{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:var(--app-bg)}.login-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,var(--app-hero-a),transparent 40%),radial-gradient(circle at 20% 80%,var(--app-hero-b),transparent 40%);pointer-events:none;opacity:.35}.login-page__toolbar{position:absolute;top:24px;right:24px;z-index:20}.login-page__toolbar-inner{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--app-border);border-radius:12px;background:color-mix(in srgb,var(--app-surface-strong) 84%,white 16%);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:var(--app-shadow-soft)}.login-page__toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0!important;border:none!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;color:var(--app-text-secondary)!important;transition:background-color .12s ease,color .12s ease}.login-page__toolbar-btn:hover,.login-page__toolbar-btn:focus-visible{color:var(--app-text)!important;background:color-mix(in srgb,var(--app-surface-subtle) 82%,var(--app-border-strong) 18%)!important;box-shadow:none!important}.login-page__center{position:relative;z-index:1;width:100%;max-width:400px;animation:login-page-enter .5s ease-out}.login-page__card{border-radius:28px!important;border:1px solid var(--app-border)!important;background:color-mix(in srgb,var(--app-surface-strong) 94%,transparent)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0c14210f!important}.login-page__card .ant-card-body{display:flex;flex-direction:column;gap:24px;padding:40px 36px}.login-page__brand{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.login-page__brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#fff;font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--app-brand-start),var(--app-brand-end));box-shadow:0 8px 24px #0f766e2e}.login-page__brand-title{margin:0!important;font-size:22px!important;font-weight:600!important;line-height:1.2!important}.login-page__brand-desc{margin:0!important;color:var(--app-text-secondary);font-size:14px;line-height:1.5}.login-page__input.ant-input-affix-wrapper,.login-page__input.ant-input{min-height:48px;border-radius:12px;border-color:var(--app-border);background:var(--app-surface-subtle);box-shadow:none}.login-page__input.ant-input-affix-wrapper:hover,.login-page__input.ant-input:hover,.login-page__input.ant-input-affix-wrapper:focus,.login-page__input.ant-input-affix-wrapper-focused,.login-page__input.ant-input:focus{border-color:var(--app-accent-border);box-shadow:0 0 0 3px var(--app-accent-soft)}.login-page__submit{height:48px;border:none!important;border-radius:12px!important;font-weight:600;background:var(--app-primary-button-bg)!important;color:var(--app-primary-button-text)!important;box-shadow:none!important;transition:transform .15s ease,background-color .15s ease}.login-page__submit:not(:disabled):hover{transform:translateY(-1px);background:var(--app-primary-button-hover-bg)!important}.login-page__oauth-state{display:flex;justify-content:center;padding:12px 0}.login-page__oauth-icon{width:18px;height:18px;object-fit:contain}@keyframes login-page-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-guard{display:grid;place-items:center;min-height:100vh;padding:24px}.auth-guard__card{display:grid;gap:16px;width:min(420px,100%);padding:28px;text-align:center;border-radius:28px!important}.ant-layout-sider-trigger,.ant-layout,.ant-layout-content,.ant-layout-header{background:transparent}.ant-menu-inline,.ant-menu-sub{background:transparent!important}.ant-menu-light.ant-menu-root.ant-menu-inline{border-inline-end:none}.ant-card{border-radius:24px}.ant-table-wrapper .ant-table{background:transparent}.ant-table-wrapper .ant-table-thead>tr>th{background:color-mix(in srgb,var(--app-card-bg) 88%,white 12%)!important}@media(max-width:992px){.page-header{flex-direction:column}}@media(max-width:768px){.page-surface{padding:20px}.admin-shell__breadcrumbs{padding:16px 20px 0}.login-page{padding:20px}.login-page__card .ant-card-body{padding:28px 24px}}
