.basic-layout{min-height:100vh}.layout-sider{background:linear-gradient(#1a1a2e 0%,#16213e 100%);box-shadow:4px 0 20px #0000001a}.layout-sider .ant-layout-sider-children{flex-direction:column;display:flex}.sider-logo{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;margin-bottom:8px;padding:20px 24px;display:flex}.sider-logo-img{object-fit:contain;background:#ffffff1a;border-radius:10px;width:36px;height:36px}.sider-logo-text{color:#fff;white-space:nowrap;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#667eea,#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.layout-sider .ant-menu-dark{background:0 0;border-right:none}.layout-sider .ant-menu-dark .ant-menu-item{box-sizing:border-box;border-radius:10px;max-width:calc(100% - 24px);height:44px;margin:4px 12px;line-height:44px}.layout-sider .ant-menu-dark .ant-menu-item:hover{background:#667eea33}.layout-sider .ant-menu-dark .ant-menu-item-selected{background:linear-gradient(135deg,#667eea59,#764ba259);box-shadow:0 4px 12px #667eea33}.layout-sider .ant-menu-dark .ant-menu-submenu-title{box-sizing:border-box;border-radius:10px;max-width:calc(100% - 24px);height:44px;margin:4px 12px;line-height:44px}.layout-sider .ant-menu-dark .ant-menu-submenu-title:hover{background:#667eea33}.layout-sider .ant-menu-dark .ant-menu-sub{background:#00000026;border-radius:10px;margin:0 12px 4px;padding:4px 0;overflow:clip}.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-item:hover,.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title:hover{box-shadow:none;background:#667eea26}.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-item-selected{box-shadow:none}.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-item,.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title,.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-sub .ant-menu-item,.layout-sider .ant-menu-dark .ant-menu-sub .ant-menu-sub .ant-menu-submenu-title{padding-left:24px!important}.layout-header{z-index:10;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #0000000f}.header-left{align-items:center;display:flex}.collapse-btn{color:#555;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;display:flex}.collapse-btn:hover{color:#667eea;background:#f0f2f5}.header-right{align-items:center;display:flex}.header-user{cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:6px 14px;transition:background .25s;display:flex}.header-user:hover{background:#f0f2f5}.header-username{color:#333;font-size:14px;font-weight:600}.header-role-tag{margin-left:4px;font-size:11px}.theme-toggle-btn{color:#555;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:18px;display:flex}.theme-toggle-btn:hover{color:#667eea;background:#f0f2f5}.layout-content{background:#f5f7fa;border-radius:16px;min-height:calc(100vh - 112px);margin:24px;padding:24px}[data-theme=dark] .layout-header{background:#141414;box-shadow:0 2px 12px #0000004d}[data-theme=dark] .collapse-btn{color:#bbb}[data-theme=dark] .collapse-btn:hover{color:#667eea;background:#ffffff14}[data-theme=dark] .theme-toggle-btn{color:#bbb}[data-theme=dark] .theme-toggle-btn:hover{color:#667eea;background:#ffffff14}[data-theme=dark] .header-username{color:#e0e0e0}[data-theme=dark] .header-user:hover{background:#ffffff14}[data-theme=dark] .layout-content{background:#1f1f1f}[data-theme=dark] .layout-sider{background:linear-gradient(#0d0d1a 0%,#0a0f1a 100%)}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg-shapes{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.shape{opacity:.1;background:#fff;border-radius:50%;position:absolute}.shape-1{width:300px;height:300px;animation:8s ease-in-out infinite float;top:-80px;left:-80px}.shape-2{width:200px;height:200px;animation:6s ease-in-out infinite reverse float;bottom:-60px;right:-60px}.shape-3{width:150px;height:150px;animation:10s ease-in-out infinite float;top:30%;right:10%}.shape-4{width:100px;height:100px;animation:7s ease-in-out infinite reverse float;bottom:20%;left:10%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(5deg)}}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;background:#fffffff2;border-radius:20px;width:420px;padding:48px 40px 32px;animation:.6s ease-out slideUp;position:relative;box-shadow:0 20px 60px #00000026,0 0 0 1px #fff3}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:36px}.login-logo{object-fit:contain;filter:drop-shadow(0 4px 12px #667eea4d);width:72px;height:72px;margin-bottom:16px}.login-title{color:#1a1a2e;letter-spacing:1px;margin:0 0 8px;font-size:28px;font-weight:700}.login-subtitle{color:#8c8c8c;margin:0;font-size:14px}.login-form{margin-top:8px}.login-form .ant-input-affix-wrapper,.login-input{background:#fafafa;font-size:15px;transition:all .3s;border:2px solid #e8e8e8!important;border-radius:10px!important;padding:10px 14px!important}.login-form .ant-input-affix-wrapper:hover,.login-form .ant-input-affix-wrapper-focused{background:#fff;box-shadow:0 0 0 3px #667eea1a;border-color:#667eea!important}.login-form .ant-input{background:0 0!important}.input-icon{color:#bfbfbf;margin-right:4px;font-size:16px}.login-button{letter-spacing:4px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)!important;border:none!important;border-radius:10px!important;height:48px!important;font-size:16px!important;font-weight:600!important;transition:all .3s!important;box-shadow:0 4px 15px #667eea66!important}.login-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 25px #667eea80!important}.login-button:active{transform:translateY(0)!important}.login-footer{text-align:center;border-top:1px solid #f0f0f0;margin-top:24px;padding-top:16px}.login-footer span{color:#bfbfbf;font-size:12px}@media (width<=480px){.login-card{border-radius:16px;width:90%;padding:36px 24px 24px}.login-logo{width:56px;height:56px}.login-title{font-size:24px}}.welcome-section{margin-bottom:24px}.welcome-content{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:16px;padding:32px}.welcome-header{align-items:center;gap:20px;display:flex}.welcome-text{flex:1}.welcome-title{color:#fff;margin:0 0 8px;font-size:24px;font-weight:700}.welcome-desc{color:#ffffffd9;margin:0;font-size:14px}.stats-row{margin-bottom:24px}.stat-card{border:none;border-radius:14px;transition:transform .25s,box-shadow .25s;box-shadow:0 2px 12px #0000000a}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.stat-card .ant-statistic-title{color:#888;font-size:14px}.stat-card .ant-statistic-content{font-size:28px;font-weight:700}.stat-card-blue .ant-statistic-content{color:#667eea}.stat-card-purple .ant-statistic-content{color:#764ba2}.stat-card-cyan .ant-statistic-content{color:#13c2c2}.stat-card-green .ant-statistic-content{color:#52c41a}.profile-card{border:none;border-radius:14px;box-shadow:0 2px 12px #0000000a}.profile-card .ant-card-head{border-bottom:1px solid #f0f0f0;font-weight:600}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:14px}#root{width:100%;height:100%}.loading-screen{background:#f0f2f5;justify-content:center;align-items:center;min-height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-track{background:0 0}::selection{color:#333;background:#667eea33}a{color:#667eea;text-decoration:none}a:hover{color:#764ba2}[data-theme=dark] html,[data-theme=dark] body{color:#e0e0e0;background:#141414}[data-theme=dark] .loading-screen{background:#141414}[data-theme=dark] ::selection{color:#e0e0e0;background:#667eea4d}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#555}[data-theme=dark] a{color:#8b9cf7}[data-theme=dark] a:hover{color:#a78bfa}
