*{margin:0;padding:0;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}#root{margin:0;padding:0;width:100%;height:100vh}.users-page{padding:0}.users-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.users-header h1{margin:0;font-size:24px;font-weight:600;flex-shrink:0}.users-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}@media(max-width:768px){.users-header{flex-direction:column;align-items:flex-start}.users-header-actions{width:100%}.users-header-actions .ant-input-search{width:100%!important}}.banners-page{padding:0}.banners-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.banners-header h1{margin:0;font-size:24px;font-weight:600;flex-shrink:0}.banners-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.banner-image-preview{max-width:100px;max-height:60px;object-fit:cover;border-radius:4px}.ant-table-wrapper{background:#fff;border-radius:8px}.ant-btn-primary{background:#5568d3;border-color:#5568d3}.ant-btn-primary:hover{background:#5568d3d9!important;border-color:#5568d3d9!important}@media(max-width:768px){.banners-header{flex-direction:column;align-items:flex-start}.banners-header-actions{width:100%}.banners-header-actions .ant-input-search{width:100%!important}}.categories-page{padding:0}.categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.categories-header h1{margin:0;font-size:24px;font-weight:600;flex-shrink:0}.categories-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.products-page{padding:0}.products-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.products-header h1{margin:0;font-size:24px;font-weight:600;flex-shrink:0}.products-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.articles-page{padding:0}.articles-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.articles-header h1{margin:0;font-size:24px;font-weight:600;flex-shrink:0}.articles-header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.logo-container{border-bottom:1px solid #f0f0f0;margin-bottom:16px}.ant-layout-sider{position:relative}.ant-menu-item-selected{background-color:#e6f7ff!important}.ant-layout-header{height:64px;line-height:64px}.login-container{display:flex;height:100vh;width:100vw;overflow:hidden}.login-wallpaper{flex:1;position:relative;overflow:hidden}.login-wallpaper img{width:100%;height:100%;object-fit:cover}.login-form-container{flex:0 0 480px;background:#fff;display:flex;align-items:center;justify-content:center;padding:40px;box-shadow:-4px 0 20px #0000001a}.login-form-wrapper{width:100%;max-width:400px}.login-header{margin-bottom:30px}.back-link{color:#666;text-decoration:none;font-size:14px}.back-link:hover{color:#000}.login-title{font-size:28px;font-weight:600;margin:8px 0 4px}.login-subtitle{color:#666;font-size:14px;margin:0}.login-form{margin-top:32px}.login-button{height:48px;font-size:16px;font-weight:500}.login-footer{margin-top:24px;text-align:center}.login-footer-text{color:#666;font-size:14px}.login-footer-link{color:#1890ff;text-decoration:none;margin-left:4px}.login-footer-link:hover{text-decoration:underline}@media(max-width:768px){.login-container{flex-direction:column}.login-wallpaper{flex:0 0 200px}.login-form-container{flex:1;padding:24px}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999}.loading-content{text-align:center}.loading-spinner{font-size:48px;color:#1890ff}.loading-text{margin-top:16px;font-size:16px;color:#666}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form-wrapper{animation:fadeIn .5s ease-out}.ant-input-affix-wrapper,.ant-input-password{padding:12px 16px}#root{width:100%;height:100vh;margin:0;padding:0}
