.app-layout{min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;background:var(--header-bg, #fff);box-shadow:0 2px 8px #0000000f;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:24px}.logo{display:flex;align-items:center;gap:10px}.logo-icon{width:32px;height:32px}.logo-text{font-size:20px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.role-menu{border-bottom:none;background:transparent}.header-right{display:flex;align-items:center;gap:16px}.notification-badge{cursor:pointer}.theme-btn{font-size:18px}.mobile-menu-btn{font-size:20px;margin-right:8px}.drawer-header{display:flex;align-items:center;gap:8px;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-sider{background:var(--sider-bg, #fff)!important;display:flex;flex-direction:column}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-sider .ant-menu{flex:1;border-inline-end:none!important}.sider-collapse-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;margin:8px 12px 16px;cursor:pointer;border-radius:8px;color:#000000a6;background:#00000005;transition:all .2s;font-size:14px}.sider-collapse-btn:hover{background:#0000000f;color:#1677ff}[data-theme=dark] .sider-collapse-btn{color:#ffffffa6;background:#ffffff0a}[data-theme=dark] .sider-collapse-btn:hover{background:#ffffff14;color:#1677ff}.collapse-text{white-space:nowrap}.app-content{padding:24px;background:var(--content-bg, #f5f5f5);min-height:calc(100vh - 64px)}@media(max-width:768px){.app-header{padding:0 12px}.header-left,.header-right{gap:8px}.app-content{padding:16px 12px}}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-container{width:100%;max-width:400px;padding:40px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{margin:0;font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-logo p{margin:8px 0 0;color:#666}@media(max-width:480px){.auth-container{padding:24px 20px}.auth-logo h1{font-size:24px}.auth-logo img{width:48px!important;height:48px!important}}:root{--color-primary: #1677ff;--border-radius: 8px;--border-radius-lg: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--header-bg: #fff;--sider-bg: #fff;--content-bg: #f5f5f5}[data-theme=dark]{--header-bg: #141414;--sider-bg: #141414;--content-bg: #000}:root{--theme-transition-x: 50%;--theme-transition-y: 50%;--theme-transition-radius: 100vmax}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}.theme-transition-to-dark::view-transition-old(root){z-index:0}.theme-transition-to-dark::view-transition-new(root){z-index:1;animation:theme-expand .4s cubic-bezier(.4,0,.2,1) forwards}.theme-transition-to-light::view-transition-old(root){z-index:1;animation:theme-contract .4s cubic-bezier(.4,0,.2,1) forwards}.theme-transition-to-light::view-transition-new(root){z-index:0}@keyframes theme-expand{0%{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}}@keyframes theme-contract{0%{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.ant-card{border-radius:var(--border-radius-lg)!important}.ant-btn{border-radius:var(--border-radius)!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector{border-radius:6px!important}
