:root{--bg-primary: #0f0f12;--bg-card: #1e1f21;--bg-modal: #141414;--bg-elevated: #252528;--bg-secondary: #1e1f21;--bg-tertiary: #252528;--bg-surface: rgba(31, 31, 31, .5);--text-primary: rgba(255, 255, 255, .8);--text-secondary: rgba(255, 255, 255, .6);--text-disabled: rgba(255, 255, 255, .45);--text-tertiary: rgba(255, 255, 255, .35);--text-bright: #ffffff;--text-placeholder: rgba(255, 255, 255, .3);--color-brand: #5ab0fe;--color-brand-bg: rgba(90, 176, 254, .1);--color-accent: #ffa236;--gradient-primary: linear-gradient(135deg, #2c35fa, #5bb4fe);--color-success: #52c41a;--color-success-bg: rgba(82, 196, 26, .1);--color-warning: #ffa236;--color-warning-bg: rgba(255, 162, 54, .1);--color-error: #ff4d4f;--color-error-bg: rgba(255, 77, 79, .1);--color-info: #5ab0fe;--color-info-bg: rgba(90, 176, 254, .1);--border-base: #424647;--border-light: rgba(255, 255, 255, .05);--border-muted: rgba(255, 255, 255, .12);--border-active: #45a7e5;--btn-default-bg: #2c2b2c;--input-bg: #1e1f21;--overlay-bg: rgba(0, 0, 0, .6);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 100px;--radius-full: 50%;--font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif;--font-h1: 600 20px/28px var(--font-family);--font-h2: 600 16px/24px var(--font-family);--font-body: 400 14px/22px var(--font-family);--font-caption: 400 13px/20px var(--font-family);--font-small: 400 12px/18px var(--font-family);--font-mini: 400 10px/16px var(--font-family);--transition-fast: .2s ease;--transition-normal: .3s ease;--shadow-popup: 0 4px 24px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font:var(--font-body);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-screen{min-height:100vh;width:100vw;display:grid;place-items:center;padding:var(--space-xl);background:radial-gradient(circle at 18% 18%,rgba(90,176,254,.14),transparent 32%),linear-gradient(145deg,#0f0f12,#17181b 52%,#0d1014)}.auth-panel{width:min(420px,100%);display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-2xl);border:1px solid var(--border-muted);border-radius:var(--radius-lg);background:#1e1f21f0;box-shadow:var(--shadow-popup)}.auth-panel__icon{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-brand);background:var(--color-brand-bg)}.auth-panel h1{font:600 28px/36px var(--font-family);color:var(--text-bright)}.auth-panel p{color:var(--text-secondary);font:var(--font-body)}.auth-field{display:flex;flex-direction:column;gap:var(--space-sm);color:var(--text-secondary)}.auth-error{padding:var(--space-md);border-radius:var(--radius-md);color:#fff;background:var(--color-error-bg);border:1px solid rgba(255,77,79,.35)}a{color:var(--color-brand);text-decoration:none}button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:#fff9}.kt-table__scroll{scrollbar-width:none}.kt-table__scroll::-webkit-scrollbar{width:0;height:0}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw}.app-shell__body{display:flex;flex:1;overflow:hidden}.app-shell__main{flex:1;padding:var(--space-xl) var(--space-2xl);overflow-y:auto;overflow-x:hidden;background:var(--bg-primary)}.sidebar{width:200px;min-width:200px;background:var(--bg-card);border-right:1px solid var(--border-base);display:flex;flex-direction:column;user-select:none}.sidebar__logo{height:56px;display:flex;align-items:center;padding:0 var(--space-lg);border-bottom:1px solid var(--border-base)}.sidebar__logo-text{font:var(--font-h2);color:var(--text-bright)}.sidebar__nav{flex:1;padding:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto}.sidebar__item{display:flex;align-items:center;gap:var(--space-md);height:44px;padding:0 var(--space-lg);border-radius:var(--radius-md);color:var(--text-secondary);font:var(--font-body);transition:all var(--transition-fast)}.sidebar__item:hover{background:#ffffff0d;color:var(--text-primary)}.sidebar__item--active{background:var(--color-brand-bg);color:var(--color-brand)}.sidebar__item-icon{font-size:20px;width:20px;text-align:center}.sidebar__system-control{margin:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--border-base);display:flex;flex-direction:column;gap:var(--space-sm)}.sidebar__system-title{font:var(--font-small);font-weight:600;color:var(--text-primary)}.sidebar__auth-logout{margin:var(--space-sm) var(--space-sm) 0;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--text-secondary);background:#ffffff0a;transition:all var(--transition-fast)}.sidebar__auth-logout:hover{color:var(--text-primary);background:#ffffff14}.sidebar__system-text,.sidebar__system-message{font:var(--font-small);color:var(--text-secondary)}.sidebar__system-message{color:var(--text-primary)}.status-bar{height:32px;min-height:32px;background:var(--bg-card);border-top:1px solid var(--border-base);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);font:var(--font-small);color:var(--text-secondary)}.status-bar__left,.status-bar__right{display:flex;align-items:center;gap:var(--space-sm)}.status-bar__right{gap:var(--space-lg)}.status-bar__indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--text-disabled)}.status-bar__indicator--success{background:var(--color-success)}.status-bar__indicator--error{background:var(--color-error)}.page-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-sm)}.page-placeholder h1{font:var(--font-h1);color:var(--text-primary)}
