.login-logo{margin-bottom:20px;animation:logoFloat 3s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(24,144,255,.3))}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.brand-logo svg{display:block;transition:transform .3s ease}.brand-logo:hover svg{transform:scale(1.1)}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-layout{min-height:100vh}.app-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100;background:#001529!important;box-shadow:2px 0 8px #00000026;transition:all .3s ease}.sidebar-header{height:64px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #002140;background:rgba(0,0,0,.2)}.sidebar-logo{padding:0 16px;width:100%}.logo-container{display:flex;align-items:center;gap:12px;justify-content:center}.sidebar-header .logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;box-shadow:0 2px 8px #1890ff4d;transition:all .3s ease}.sidebar-header .logo-icon.collapsed{width:32px;height:32px;font-size:14px}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-title{color:#fff;font-size:16px;font-weight:600;line-height:1}.logo-subtitle{color:#ffffffa6;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.5px}.sidebar-content{height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;padding:8px 0}.sidebar-menu{border-right:none;background:transparent!important}.sidebar-menu .ant-menu-item,.sidebar-menu .ant-menu-submenu-title{margin:2px 8px;border-radius:6px;height:40px;line-height:40px;color:#ffffffd9;transition:all .3s ease;position:relative;overflow:hidden;font-size:15px;font-weight:500}.sidebar-menu .ant-menu-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#1890ff;transform:scaleY(0);transition:transform .3s ease}.sidebar-menu .ant-menu-item:hover,.sidebar-menu .ant-menu-submenu-title:hover{background:rgba(24,144,255,.1)!important;color:#fff!important}.sidebar-menu .ant-menu-item-selected{background:rgba(24,144,255,.15)!important;color:#fff!important;font-weight:500}.sidebar-menu .ant-menu-item-selected:before{transform:scaleY(1)}.sidebar-menu .ant-menu-submenu-open>.ant-menu-submenu-title{background:rgba(24,144,255,.08)!important;color:#fff!important}.sidebar-menu .ant-menu-sub{background:rgba(0,0,0,.3)!important}.sidebar-menu .ant-menu-sub .ant-menu-item{margin:2px 8px 2px 20px;height:38px;line-height:38px;font-size:14px;font-weight:450}.sidebar-menu .ant-menu-item-icon,.sidebar-menu .ant-menu-submenu-title .ant-menu-item-icon{font-size:17px;margin-right:14px}.app-sidebar.ant-layout-sider-collapsed .sidebar-menu .ant-menu-item,.app-sidebar.ant-layout-sider-collapsed .sidebar-menu .ant-menu-submenu-title{margin:4px 8px;text-align:center;padding:0!important}.app-sidebar.ant-layout-sider-collapsed .sidebar-menu .ant-menu-item-icon{margin-right:0;font-size:18px}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.main-layout{margin-left:260px;transition:margin-left .3s ease}.main-layout.collapsed{margin-left:64px}.app-header{background:#fff;padding:0 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 1px 4px #00152914;position:sticky;top:0;z-index:99;height:64px;border-bottom:1px solid #f0f0f0}.header-left{display:flex;align-items:center;gap:20px}.sidebar-trigger{font-size:18px;color:#595959;cursor:pointer;transition:all .3s ease;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center}.sidebar-trigger:hover{background:#f5f5f5;color:#1890ff}.header-brand{display:flex;align-items:center;gap:12px}.brand-logo{position:relative}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;box-shadow:0 2px 8px #1890ff4d}.brand-info{display:flex;flex-direction:column;gap:2px}.brand-title{color:#262626!important;font-size:18px;font-weight:600;line-height:1}.brand-subtitle{color:#8c8c8c!important;font-size:12px;line-height:1}.header-center{flex:1;display:flex;justify-content:center;max-width:400px;margin:0 40px}.header-search{position:relative;width:100%;max-width:320px}.search-input{width:100%;height:36px;padding:0 12px 0 40px;border:1px solid #d9d9d9;border-radius:18px;background:#fafafa;color:#262626;font-size:14px;transition:all .3s ease}.search-input::placeholder{color:#bfbfbf}.search-input:focus{outline:none;border-color:#1890ff;background:#fff;box-shadow:0 0 0 2px #1890ff33}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#bfbfbf;font-size:16px}.header-right{display:flex;align-items:center}.header-action{color:#595959;font-size:18px;cursor:pointer;transition:all .3s ease;padding:8px;border-radius:6px;display:flex;align-items:center;justify-content:center}.header-action:hover{background:#f5f5f5;color:#1890ff}.notification-btn{position:relative}.user-profile{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 14px;border-radius:8px;transition:all .3s ease;background:#fafafa;border:1px solid #f0f0f0;min-height:52px}.user-profile:hover{background:#f5f5f5;border-color:#d9d9d9}.user-avatar{border:2px solid #f0f0f0;box-shadow:0 1px 3px #0000001a}.user-details{display:flex;flex-direction:column;gap:4px;justify-content:center}.user-name{color:#262626!important;font-size:14px;font-weight:500;line-height:1.2}.user-role{color:#8c8c8c!important;font-size:12px;line-height:1.2}.ant-dropdown-menu{padding:8px 0;border-radius:8px;box-shadow:0 3px 12px #00000026}.ant-dropdown-menu-item{padding:10px 16px;font-size:14px;transition:all .3s}.ant-dropdown-menu-item:hover{background-color:#f5f5f5}.ant-dropdown-menu-item-divider{margin:4px 0}.ant-dropdown-menu-item .anticon{margin-right:10px;font-size:16px}.main-content{padding:0;background:#f0f2f5;min-height:calc(100vh - 64px)}.breadcrumb-container{padding:16px 24px;background:#fff;border-bottom:1px solid #f0f0f0;box-shadow:0 1px 4px #0000000a}.breadcrumb-container .ant-breadcrumb{font-size:14px}.breadcrumb-container .ant-breadcrumb-link{color:#666;transition:color .3s ease}.breadcrumb-container .ant-breadcrumb-link:hover{color:#1890ff}.content-wrapper{padding:24px}.text-secondary{color:#8c8c8c;font-size:12px}.text-warning{color:#faad14}.stat-card{cursor:pointer;transition:all .3s}.stat-card.clickable:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-content{display:flex;align-items:center;gap:16px}.stat-icon{font-size:32px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(24,144,255,.1)}.stat-info{flex:1}.stat-title{font-size:14px;color:#8c8c8c;margin-bottom:4px}.stat-trend{display:flex;align-items:center;font-size:12px;margin-top:4px}.stat-trend.positive{color:#52c41a}.stat-trend.negative{color:#f5222d}.search-card{margin-bottom:16px}.search-form .ant-form-item{margin-bottom:0}.toolbar-card{margin-bottom:16px}.toolbar-content{display:flex;justify-content:space-between;align-items:center}.toolbar-info{color:#8c8c8c;font-size:14px}.employee-info{display:flex;align-items:center;gap:12px}.employee-details{flex:1}.employee-name{font-weight:500;margin-bottom:4px}.employee-no{font-size:12px;color:#8c8c8c}.form-section{margin-bottom:32px}.form-section h4{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0;color:#262626}.avatar-uploader .ant-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.avatar-uploader .ant-upload:hover{border-color:#1890ff}.todo-item{cursor:pointer;transition:background-color .3s}.todo-item:hover{background-color:#f5f5f5}.todo-title{display:flex;align-items:center;justify-content:space-between}.todo-meta{display:flex;align-items:center;color:#8c8c8c;font-size:12px}.chart-card .ant-card-body{padding:24px}@media (max-width: 1200px){.header-center{max-width:280px}.search-input{font-size:13px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative}.login-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%)}.login-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.2)}.login-card{width:400px;position:relative;z-index:1;box-shadow:0 8px 32px #0000001a;border-radius:8px}.login-header{text-align:center;margin-bottom:32px}.login-logo{height:64px;width:auto;margin-bottom:16px}.login-title{margin-bottom:8px!important;color:#262626}.login-subtitle{color:#8c8c8c}.login-form .ant-form-item{margin-bottom:24px}.login-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.forgot-password{padding:0}.login-button{height:40px;font-size:16px}.captcha-image{width:80px;height:32px;cursor:pointer;border-radius:4px}.login-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #f0f0f0}.dashboard-page{padding:0}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.stats-row,.quick-actions-card{margin-bottom:24px}.quick-action-item{text-align:center;border:2px solid transparent;transition:all .3s}.quick-action-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-content{padding:16px}.action-icon{font-size:32px;margin-bottom:8px}.action-title{font-size:14px;font-weight:500}.charts-row{margin-bottom:24px}.bottom-row{margin-bottom:0}.activity-list{max-height:300px;overflow-y:auto}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.activity-item:last-child{border-bottom:none}.activity-time{font-size:12px;color:#8c8c8c;white-space:nowrap}.activity-content{flex:1;font-size:14px}.department-page{height:100%}.department-page .ant-tree .ant-tree-node-content-wrapper{padding:4px 8px;border-radius:4px;transition:all .3s}.department-page .ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.department-page .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#e6f7ff;border:1px solid #91d5ff}.department-page .ant-descriptions-item-label{font-weight:500;color:#595959}.department-page .ant-card-small .ant-card-body{padding:12px}.department-page .ant-empty{margin-top:100px}
