:root{--primary: #ff6b9d;--primary-light: #ff8fb5;--primary-dark: #e5558a;--primary-bg: #fff5f8;--primary-border: #ffccd9;--primary-alpha-15: rgba(255, 107, 157, .15);--primary-alpha-30: rgba(255, 107, 157, .3);--dailyn-radius: 8px;--sidebar-width: 240px;--sidebar-collapsed-width: 80px;--header-height: 56px;--label-min-width: 80px;--z-header: 10;--z-sidebar: 100;--z-overlay: 999;--z-sidebar-mobile: 1000;--bg-color: #f0f2f5;--card-shadow: 0 2px 8px rgba(0, 0, 0, .06);--card-hover-shadow: 0 4px 16px rgba(0, 0, 0, .1);--text-primary: rgba(0, 0, 0, .88);--text-secondary: rgba(0, 0, 0, .65);--text-muted: rgba(0, 0, 0, .55);--border-color: #f0f0f0;--color-success: #52c41a;--color-warning: #faad14;--color-error: #f5222d;--color-info: #1890ff;--color-cyan: #36cfc9;--color-gold: #ffc53d;--color-orange: #ff7a45;--color-purple: #9254de;--color-text-light: #737373;--color-text-dark: rgba(0, 0, 0, .88);--color-bg-light: #f5f5f5;--color-border-light: #e0e0e0;--color-white: #fff;--color-header-bg: #fafafa;--sidebar-bg-start: #1a1a2e;--sidebar-bg-end: #16162a;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-text: rgba(255, 255, 255, .65);--sidebar-text-bright: rgba(255, 255, 255, .85);--sidebar-text-dim: rgba(255, 255, 255, .45);--sidebar-hover-bg: rgba(255, 255, 255, .15);--input-focus-shadow: 0 0 0 2px rgba(255, 107, 157, .15);--overlay-bg: rgba(0, 0, 0, .45);--login-bg-start: #1a1a2e;--login-bg-mid: #16213e;--login-bg-end: #0f3460;--error-page-bg-start: #f5f7fa;--error-page-bg-end: #c3cfe2}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{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";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-color)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000040}.page-card{background:var(--color-white);border-radius:12px;box-shadow:var(--card-shadow);padding:24px;margin-bottom:16px;transition:box-shadow .3s ease}.page-card:hover{box-shadow:var(--card-hover-shadow)}.batch-bar{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.search-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:20px 24px;background:var(--color-white);border-radius:12px;box-shadow:var(--card-shadow)}.search-bar .ant-form-item{margin-bottom:20px}.ant-table{border-radius:8px;overflow:hidden}.table-pagination{display:flex;justify-content:flex-end;padding:16px 0}.ant-btn-primary{transition:all .3s ease}.ant-btn-primary:hover{transform:translateY(-1px)}.ant-btn-primary:active{transform:translateY(0)}.ant-btn-link:hover{color:var(--primary-light)}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--primary)!important;box-shadow:var(--input-focus-shadow)!important}.ant-modal .ant-modal-content{border-radius:12px;overflow:hidden}.ant-modal .ant-modal-header{border-bottom:1px solid var(--border-color);padding:16px 24px}.ant-modal .ant-modal-body{padding:24px}.ant-modal .ant-modal-footer{border-top:1px solid var(--border-color);padding:12px 24px}.ant-tag-pink{color:var(--primary);background:var(--primary-bg);border-color:var(--primary-border)}.admin-layout{display:flex;height:100vh;overflow:hidden}.admin-layout .admin-sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,var(--sidebar-bg-start) 0%,var(--sidebar-bg-end) 100%);transition:all .3s cubic-bezier(.2,0,0,1);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;z-index:var(--z-sidebar)}.admin-layout .admin-sidebar.collapsed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}.admin-layout .admin-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.admin-layout .admin-header{height:var(--header-height);background:var(--color-white);box-shadow:0 1px 4px #00000014;display:flex;align-items:center;padding:0 24px;justify-content:space-between;z-index:var(--z-header)}.admin-layout .admin-content{flex:1;overflow-y:auto;padding:16px 24px;background:var(--bg-color)}.sidebar-logo{height:var(--header-height);display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-logo .logo-icon{width:32px;height:32px;border-radius:8px;flex-shrink:0}.sidebar-logo .logo-text{color:var(--color-white);font-size:18px;font-weight:700;white-space:nowrap;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-menu{flex:1;padding:8px 0;overflow-y:auto}.sidebar-menu .ant-menu{background:transparent;border:none}.sidebar-menu .ant-menu-item{color:var(--sidebar-text)}.sidebar-menu .ant-menu-item:hover .anticon{color:var(--color-white)!important}.sidebar-menu .ant-menu:not(.ant-menu--horizontal) .ant-menu-item:hover{color:var(--color-white)!important;background:var(--sidebar-hover-bg)!important}.sidebar-menu .ant-menu .ant-menu-item-active{color:var(--color-white)!important;background:var(--sidebar-hover-bg)!important}.sidebar-menu .ant-menu-item-selected{color:var(--color-white)!important;background:linear-gradient(135deg,var(--primary-alpha-30),var(--primary-alpha-15))!important}.sidebar-menu .ant-menu-item-selected .anticon{color:var(--primary)!important}.sidebar-menu .ant-menu-item .anticon{font-size:16px}.sidebar-menu .ant-menu-submenu .ant-menu-submenu-title{color:var(--sidebar-text);border-radius:8px;height:44px;line-height:44px}.sidebar-menu .ant-menu-submenu .ant-menu-submenu-title:hover{color:var(--color-white)!important;background:var(--sidebar-hover-bg)!important}.sidebar-menu .ant-menu-submenu .ant-menu-submenu-title:hover .anticon{color:var(--color-white)!important}.sidebar-menu .ant-menu-submenu .ant-menu-submenu-title .anticon{color:var(--sidebar-text);font-size:16px}.sidebar-menu .ant-menu-submenu-open>.ant-menu-submenu-title{color:var(--color-white)!important}.sidebar-menu .ant-menu-submenu-open>.ant-menu-submenu-title .anticon{color:var(--color-white)!important}.sidebar-menu .ant-menu-submenu .ant-menu-submenu-arrow{color:var(--sidebar-text-dim)!important}.sidebar-menu .ant-menu-submenu .ant-menu-sub{background:transparent!important}.sidebar-menu .ant-menu-sub .ant-menu-item{padding-inline-start:36px!important;padding-inline-end:12px!important;height:40px;line-height:40px}.admin-sidebar.collapsed .sidebar-menu .ant-menu-submenu-arrow{display:none!important}.ant-menu-submenu-popup,.ant-menu-submenu-popup .ant-menu,.ant-menu-inline-collapsed-popup,.ant-menu-inline-collapsed-popup.ant-menu{background:var(--sidebar-bg-start)!important;border-radius:8px!important;padding:4px!important;box-shadow:0 4px 16px #0000004d!important}.ant-menu-submenu-popup .ant-menu-item,.ant-menu-inline-collapsed-popup .ant-menu-item{color:var(--sidebar-text)!important;border-radius:6px!important;height:40px!important;line-height:40px!important}.ant-menu-submenu-popup .ant-menu-item:hover,.ant-menu-inline-collapsed-popup .ant-menu-item:hover{color:var(--color-white)!important;background:var(--sidebar-hover-bg)!important}.ant-menu-submenu-popup .ant-menu-item-selected,.ant-menu-inline-collapsed-popup .ant-menu-item-selected{color:var(--color-white)!important;background:linear-gradient(135deg,var(--primary-alpha-30),var(--primary-alpha-15))!important}.ant-menu-submenu-popup .ant-menu-item-selected .anticon,.ant-menu-inline-collapsed-popup .ant-menu-item-selected .anticon{color:var(--primary)!important}.sidebar-user{padding:12px 16px;border-top:1px solid var(--sidebar-border);flex-shrink:0}.sidebar-user .user-info{display:flex;align-items:center;gap:12px;color:var(--sidebar-text)}.sidebar-user .user-info .user-name{color:var(--sidebar-text-bright);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .user-info .user-role{font-size:12px;color:var(--sidebar-text-dim)}.admin-sidebar.collapsed .sidebar-user{padding:12px 0;display:flex;justify-content:center}.admin-sidebar.collapsed .sidebar-user .user-info{justify-content:center}.header-left{display:flex;align-items:center;gap:16px}.header-right{display:flex;align-items:center;gap:8px}.collapse-btn{font-size:18px;cursor:pointer;color:var(--text-secondary);transition:color .3s;padding:4px}.collapse-btn:hover{color:var(--primary)}.ant-breadcrumb{font-size:14px}.ant-breadcrumb a{color:var(--text-secondary)}.ant-breadcrumb a:hover{color:var(--primary)}.notification-badge .ant-badge-count{background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--error-page-bg-start) 0%,var(--error-page-bg-end) 100%);text-align:center;padding:24px}.error-page .error-code{font-size:160px;font-weight:800;line-height:1;margin-bottom:24px}.error-page .error-code.pink{background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-page .error-code.purple{background:linear-gradient(135deg,var(--primary-dark),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-page .error-message{font-size:20px;color:var(--text-secondary);margin-bottom:32px}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--login-bg-start) 0%,var(--login-bg-mid) 50%,var(--login-bg-end) 100%);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,var(--primary-alpha-15),transparent 70%);top:-100px;right:-100px;border-radius:50%}.login-page:after{content:"";position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(255,143,181,.1),transparent 70%);bottom:-50px;left:-50px;border-radius:50%}.login-card{width:420px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:48px 40px;box-shadow:0 20px 60px #00000026;z-index:1;position:relative;overflow:hidden}.login-card .login-lang-switch{position:absolute;top:16px;right:16px}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-dark))}.login-card .login-title{text-align:center;margin-bottom:8px}.login-card .login-logo{width:64px;height:64px;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(255,107,157,.3))}.login-card .login-title h1{font-size:26px;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card .login-subtitle{text-align:center;color:var(--text-muted);font-size:14px;margin-bottom:36px}.login-card .login-form .ant-form-item:last-child{margin-bottom:0}.login-card .login-form .ant-btn-primary{width:100%;height:44px;font-size:16px;font-weight:600;border-radius:8px}.login-card .login-remember{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.login-card .login-remember a{color:var(--primary);font-size:14px}@media (max-width: 768px){.admin-layout .admin-sidebar{position:fixed;left:0;top:0;z-index:var(--z-sidebar-mobile)}.admin-layout .admin-sidebar.collapsed{left:-240px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);z-index:var(--z-overlay)}.admin-layout .admin-content{padding:12px 16px}.search-bar{padding:16px}.login-card{width:90%;padding:32px 24px}.error-page .error-code{font-size:100px}}@media (max-width: 576px){.header-right .header-text{display:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-card{animation:fadeIn .3s ease}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary)!important}.ant-tabs-ink-bar{background:var(--primary)!important}.ant-tabs-tab:hover{color:var(--primary)!important}.ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:var(--primary-bg)!important}.ant-table-tbody>tr.ant-table-row-selected>td.ant-table-cell-fix-right{background:var(--primary-bg)!important}.ant-descriptions-item-label{min-width:var(--label-min-width);white-space:nowrap}.ant-descriptions-bordered .ant-descriptions-item-label{background:var(--color-header-bg);font-weight:500}.ant-empty-description{color:var(--text-muted)}.ant-selection-item{border-radius:var(--dailyn-radius)}.fullscreen-btn{cursor:pointer;font-size:16px;color:var(--text-secondary);transition:color .3s;padding:4px}.fullscreen-btn:hover{color:var(--primary)}.recent-users-scroll{max-height:320px;overflow-y:auto}.recent-user-item{display:flex;align-items:center;padding:12px 0}.recent-user-item:not(:last-child){border-bottom:1px solid var(--border-color)}.recent-user-info{flex:1;overflow:hidden}.recent-user-name{font-size:14px;color:var(--color-text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-user-sub{font-size:12px;color:var(--color-text-light);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-user-time{font-size:12px;color:var(--text-muted);margin-left:12px;flex-shrink:0}.u-full-width{width:100%}.u-border-radius-12{border-radius:12px}.u-border-radius-50pct{border-radius:50%}.u-mb-8{margin-bottom:8px}.u-mb-12{margin-bottom:12px}.u-mb-16{margin-bottom:16px}.u-mb-24{margin-bottom:24px}.u-mt-8{margin-top:8px}.u-mt-12{margin-top:12px}.u-mt-16{margin-top:16px}.u-mt-24{margin-top:24px}.u-text-center{text-align:center}.u-text-secondary{color:var(--text-secondary)}.u-font-weight-600{font-weight:600}.u-font-weight-500{font-weight:500}.u-font-size-12{font-size:12px}.u-font-size-14{font-size:14px}.u-font-size-18{font-size:18px}.u-flex-center{display:flex;justify-content:center;align-items:center}.u-flex-between{display:flex;justify-content:space-between;align-items:center}.u-flex-center-start{display:flex;align-items:center}.u-overflow-hidden{overflow:hidden}.u-padding-24{padding:24px}.u-padding-40{padding:40px}.u-cursor-pointer{cursor:pointer}.u-object-fit-cover{object-fit:cover}.u-object-fit-contain{object-fit:contain}.u-flex-shrink-0{flex-shrink:0}.u-gap-8{display:flex;align-items:center;gap:8px}.u-color-warning{color:var(--color-warning)}.u-color-primary{color:var(--primary)}.u-color-text-muted{color:var(--text-muted)}.u-color-text-secondary{color:var(--text-secondary)}.u-grid-stickers{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.u-position-relative{position:relative}.u-position-tr{position:absolute;top:4px;right:4px}.u-monospace{font-family:monospace;font-size:13px}.back-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.back-bar-title{font-weight:600}.back-bar-sub{color:var(--text-secondary);margin-left:12px}.u-form-align-labels .ant-form-item-label{white-space:nowrap}.u-form-align-labels .ant-form-item-label>label{white-space:nowrap}.tabs-view{background:var(--color-white);position:relative;z-index:5;-webkit-user-select:none;user-select:none;padding:6px 8px}.tabs-view .ant-tabs-nav{margin:0!important}.tabs-view .ant-tabs-nav:before{border-bottom:none!important}.tabs-view .ant-tabs-tab{border-radius:6px!important;border:1px solid var(--color-border-light)!important;background:var(--color-white)!important;transition:all .2s ease;padding:4px 12px!important;font-size:13px;font-weight:500;line-height:22px;margin:0 2px!important}.tabs-view .ant-tabs-tab:hover{border-color:var(--primary-border)!important;background:var(--primary-bg)!important}.tabs-view .ant-tabs-tab-active{background:var(--primary-bg)!important;border-color:var(--primary)!important}.tabs-view .ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--primary)!important;font-weight:500}.tabs-view .ant-tabs-tab-remove{margin-inline-start:4px!important;margin-inline-end:-4px!important;font-size:11px;transition:color .2s}.tabs-view .ant-tabs-tab-remove:hover{color:var(--primary)!important}.tabs-view .ant-tabs-ink-bar{display:none!important}.tabs-view-label{display:inline-block;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.react-resizable{position:relative;background-clip:padding-box}.react-resizable-handle{position:absolute;right:-5px;bottom:0;z-index:2;width:10px;height:100%;cursor:col-resize}
