:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5715;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;padding:0}body{min-width:320px;background:#f5f7fa;transition:background-color .3s ease}a{color:inherit;text-decoration:none}.font-num{font-family:SF Mono,Roboto Mono,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums;letter-spacing:.2px}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent;border-radius:3px}*::-webkit-scrollbar-thumb{background:#0000002e;border-radius:3px;-webkit-transition:background .2s;transition:background .2s}*::-webkit-scrollbar-thumb:hover{background:#00000052}[data-theme=dark] *::-webkit-scrollbar-thumb{background:#ffffff2e}[data-theme=dark] *::-webkit-scrollbar-thumb:hover{background:#ffffff52}::-moz-selection{background:#1677ff26}::selection{background:#1677ff26}button:focus,a:focus{outline:none}.hoverable-card{transition:transform .25s ease,box-shadow .25s ease}.hoverable-card:hover{transform:translateY(-2px)}.side-menu-wrapper{height:100vh;display:flex;flex-direction:column;overflow:hidden;position:relative}.logo-section{height:56px;display:flex;align-items:center;justify-content:center;background:#00000024;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.logo-expanded{text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;gap:1px}.logo-title{font-size:17px;font-weight:600;line-height:1.2;letter-spacing:1px;text-shadow:0 1px 3px rgba(0,0,0,.25)}.logo-subtitle{font-size:11px;opacity:.7;letter-spacing:1.5px}.logo-collapsed{width:36px;height:36px;background:#ffffff29;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.25)}.error-section{margin:8px 12px;border-radius:8px}.error-section .ant-alert{background:#ffc1071f;border:1px solid rgba(255,193,7,.28);color:#fff}.error-section .ant-alert-message{color:#fff;font-weight:500}.error-section .ant-alert-description{color:#ffffffc7}.menu-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px}.menu-content .ant-spin{color:#ffffffb3}.menu-content .ant-empty{color:#ffffffa6}.custom-menu.ant-menu{background:transparent!important;border:none!important;color:#ffffffd1!important;font-size:13.5px}.custom-menu .ant-menu-item,.custom-menu .ant-menu-submenu-title{color:#ffffffd1!important;margin:3px 0!important;border-radius:8px!important;height:44px!important;line-height:44px!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;position:relative}.custom-menu .ant-menu-item:hover,.custom-menu .ant-menu-submenu-title:hover{background:#ffffff17!important;color:#fff!important}.custom-menu .ant-menu-item-selected{background:#ffffff29!important;color:#fff!important;font-weight:500!important}.custom-menu .ant-menu-item-selected:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--sider-primary, #fff);border-radius:0 3px 3px 0;box-shadow:0 0 8px var(--sider-primary, rgba(255, 255, 255, .6))}.custom-menu .ant-menu-item-selected:after{border-right:none!important;transform:scaleY(0)!important;opacity:0!important}.custom-menu .ant-menu-submenu-open>.ant-menu-submenu-title{background:#ffffff14!important;color:#fff!important}.custom-menu .ant-menu-sub{background:#00000029!important;border-radius:8px!important;margin:2px 0 4px!important;padding:4px 0!important}.custom-menu .ant-menu-sub .ant-menu-item{margin:2px 8px!important;height:40px!important;line-height:40px!important}.custom-menu .ant-menu-item-icon,.custom-menu .ant-menu-submenu-title .ant-menu-item-icon{font-size:16px!important;color:#ffffffad!important;margin-right:12px!important;transition:color .25s!important}.custom-menu .ant-menu-item:hover .ant-menu-item-icon,.custom-menu .ant-menu-submenu-title:hover .ant-menu-item-icon,.custom-menu .ant-menu-item-selected .ant-menu-item-icon{color:#fff!important}.custom-menu .ant-menu-submenu-arrow{color:#ffffffad!important}.custom-menu .ant-menu-submenu-title:hover .ant-menu-submenu-arrow,.custom-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:#fff!important}.custom-menu.ant-menu-inline-collapsed{width:64px!important}.custom-menu.ant-menu-inline-collapsed .ant-menu-item,.custom-menu.ant-menu-inline-collapsed .ant-menu-submenu-title{text-align:center!important;padding:0 16px!important}.custom-menu.ant-menu-inline-collapsed .ant-menu-item-icon,.custom-menu.ant-menu-inline-collapsed .ant-menu-submenu-title .ant-menu-item-icon{margin-right:0!important;font-size:18px!important}.custom-menu.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-arrow{display:none!important}.custom-menu.ant-menu-inline-collapsed .ant-menu-item-selected:before{display:none}.toggle-section{height:56px;display:flex;align-items:center;justify-content:center;border-top:1px solid rgba(255,255,255,.06);background:#00000024;flex-shrink:0}.toggle-button.ant-btn{width:44px;height:44px;border:none;background:transparent;color:#ffffffad;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .25s ease}.toggle-button.ant-btn:hover,.toggle-button.ant-btn:focus{background:#ffffff1a!important;color:#fff!important;border:none!important}.toggle-button .anticon{font-size:16px}.menu-content::-webkit-scrollbar{width:6px}.menu-content::-webkit-scrollbar-track{background:transparent}.menu-content::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:3px}.menu-content::-webkit-scrollbar-thumb:hover{background:#ffffff52}@media (max-height: 600px){.logo-section,.toggle-section{height:48px}.custom-menu .ant-menu-item,.custom-menu .ant-menu-submenu-title{height:40px!important;line-height:40px!important}}.top-header{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 16px;position:relative;z-index:10}.top-header-left{display:flex;align-items:center;gap:12px;min-width:0}.top-header-right{display:flex;align-items:center}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--ant-color-text-secondary);transition:all .2s}.sidebar-toggle:hover{background-color:var(--ant-color-fill-quaternary);color:var(--ant-color-primary)}.breadcrumb{font-size:13px;line-height:2}.breadcrumb .ant-breadcrumb-link a{color:var(--ant-color-text-secondary);text-decoration:none;transition:color .2s}.breadcrumb .ant-breadcrumb-link a:hover{color:var(--ant-color-primary)}.notification-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;position:relative;transition:all .2s;color:var(--ant-color-text-secondary)}.notification-btn:hover{background-color:var(--ant-color-fill-quaternary);color:var(--ant-color-primary)}.notification-btn:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;background-color:var(--ant-color-error);border-radius:50%;display:none}.notification-btn.has-notification:after{display:block}.notification-btn-enhanced.ant-btn{width:40px!important;height:40px!important;border:none!important;background:transparent!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .25s ease!important;box-shadow:none!important;margin-right:4px}.notification-btn-enhanced.ant-btn:hover,.notification-btn-enhanced.ant-btn:focus{background:var(--ant-color-fill-tertiary)!important;box-shadow:0 2px 8px #00000014!important;border:none!important}.notification-btn-enhanced .bell-icon{font-size:18px;color:var(--ant-color-text-secondary);transition:all .25s ease}.notification-btn-enhanced:hover .bell-icon,.notification-btn-enhanced:focus .bell-icon{color:var(--ant-color-primary)}.notification-btn-enhanced.has-notification .bell-icon{color:var(--ant-color-primary)}.notification-btn-enhanced.has-urgent .bell-icon{color:var(--ant-color-error)}.user-info{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;cursor:pointer;transition:all .2s;min-width:120px}.user-info:hover{background-color:var(--ant-color-fill-quaternary)}.user-avatar{flex-shrink:0}.user-details{display:flex;flex-direction:column;line-height:1.2;min-width:0}.user-name{font-size:13px;font-weight:500;color:var(--ant-color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;color:var(--ant-color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.top-header{padding:0 12px 0 8px}.top-header-left{gap:8px}.user-details{display:none}.user-info{min-width:auto;padding:6px}.breadcrumb{font-size:13px}}@media (max-width: 480px){.breadcrumb{display:none}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}#root{width:100%}.section-title{font-size:14px;font-weight:600;margin-bottom:16px;position:relative;padding-bottom:10px;margin-top:10px}.page-container{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;min-height:calc(100vh - 48px);margin-bottom:24px}.page-title{font-size:20px;font-weight:600;color:#262626;margin-bottom:16px;position:relative;padding-left:12px}.page-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:18px;background:#1890ff;border-radius:2px}.page-content{color:#595959;line-height:1.6;font-size:14px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:16px}.loading-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#8c8c8c;font-size:14px}.dashboard{display:grid;grid-template-columns:280px 1fr;gap:24px;min-height:600px}.dashboard-sidebar{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f;height:-moz-fit-content;height:fit-content}.dashboard-nav{list-style:none}.dashboard-nav li{margin-bottom:8px}.dashboard-nav a{display:block;padding:12px 16px;color:#595959;text-decoration:none;border-radius:6px;transition:all .3s ease;font-size:14px;font-weight:500}.dashboard-nav a:hover{background-color:#f5f5f5;color:#262626}.dashboard-nav a.active{background-color:#e6f7ff;color:#1890ff;border-left:3px solid #1890ff}.dashboard-content{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:32px 0}.feature-card{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:24px;text-align:center;transition:all .3s ease;box-shadow:0 1px 3px #0000001a}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026;border-color:#1890ff}.feature-icon{font-size:32px;margin-bottom:16px;display:block}.feature-card h3{font-size:16px;font-weight:600;color:#262626;margin-bottom:8px}.feature-card p{font-size:14px;color:#8c8c8c;line-height:1.6;margin:0}.navigation-links{display:flex;gap:16px;margin-top:24px;flex-wrap:wrap}.nav-link{display:inline-flex;align-items:center;background:#1890ff;color:#fff;text-decoration:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;transition:all .3s ease;border:none;cursor:pointer}.nav-link:hover{background:#40a9ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.nav-link:active{transform:translateY(0)}.feedback{position:fixed;bottom:24px;right:24px;background:#1890ff;color:#fff;padding:12px 16px;border-radius:20px;box-shadow:0 4px 12px #1890ff4d;cursor:pointer;transition:all .3s ease;z-index:1000;font-size:14px;font-weight:500}.feedback:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1890ff66;background:#40a9ff}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1890ff,#40a9ff);position:relative}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><polygon fill="rgba(255,255,255,0.05)" points="0,1000 1000,0 1000,1000"/></svg>');pointer-events:none}.login-form{background:#fff;padding:40px;border-radius:12px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px;position:relative;z-index:1}.login-title{text-align:center;margin-bottom:32px;color:#262626;font-size:24px;font-weight:600}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#262626;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .3s ease;background:#fff}.form-group input:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 3px #1890ff1a}.form-group input::-moz-placeholder{color:#bfbfbf}.form-group input::placeholder{color:#bfbfbf}.login-button{width:100%;padding:12px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.login-button:hover{background:#40a9ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.login-button:active{transform:translateY(0)}.error-page{text-align:center;padding:60px 24px;background:#fff;border-radius:8px;margin:24px}.error-title{font-size:72px;font-weight:600;color:#1890ff;margin-bottom:16px;line-height:1}.error-message{font-size:16px;color:#8c8c8c;margin-bottom:32px;line-height:1.5}.error-link{color:#1890ff;text-decoration:none;font-weight:500;font-size:14px}.error-link:hover{color:#40a9ff;text-decoration:underline}.page{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f;margin:24px}.page h1{font-size:24px;font-weight:600;color:#262626;margin-bottom:16px;padding-left:12px;position:relative}.page h1:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;background:#1890ff;border-radius:2px}.page p{color:#595959;line-height:1.6;margin-bottom:16px}.dashboard-welcome{text-align:center;padding:40px 0}.dashboard-welcome h2{font-size:24px;font-weight:600;color:#262626;margin-bottom:16px}.dashboard-welcome p{font-size:16px;color:#8c8c8c;margin-bottom:40px;line-height:1.6}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:32px}.dashboard-stats .stat-card{background:linear-gradient(135deg,#52c41a,#73d13d)}.dashboard-stats .stat-card:nth-child(2){background:linear-gradient(135deg,#faad14,#ffc53d)}.dashboard-stats .stat-card:nth-child(3){background:linear-gradient(135deg,#1890ff,#40a9ff)}.dashboard-section h2{font-size:20px;font-weight:600;color:#262626;margin-bottom:16px}.profile-info p{margin-bottom:12px;color:#595959;line-height:1.6}.profile-info strong{color:#262626;font-weight:500}.edit-btn,.save-btn{background:#52c41a;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;margin-top:16px;transition:all .3s ease}.edit-btn:hover,.save-btn:hover{background:#73d13d;transform:translateY(-1px)}.settings-options{display:flex;flex-direction:column;gap:16px}.setting-item{display:flex;align-items:center;padding:12px 16px;background:#fafafa;border-radius:6px;border:1px solid #f0f0f0}.setting-item label{display:flex;align-items:center;gap:8px;font-size:14px;color:#262626;cursor:pointer}.setting-item input[type=checkbox]{margin:0}.setting-item select{margin-left:8px;padding:4px 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px}.analytics-data{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:16px}.stat-card{background:linear-gradient(135deg,#1890ff,#40a9ff);color:#fff;padding:24px;border-radius:8px;text-align:center;box-shadow:0 4px 12px #1890ff4d}.stat-card h3{margin:0 0 8px;font-size:14px;font-weight:500;opacity:.9}.stat-number{font-size:28px;font-weight:700;margin:0;line-height:1}.about-intro{margin-bottom:40px;text-align:center}.about-features h3,.about-tech h3,.contact-form-section h3{font-size:18px;font-weight:600;color:#262626;margin-bottom:20px;padding-left:12px;position:relative}.about-features h3:before,.about-tech h3:before,.contact-form-section h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:16px;background:#1890ff;border-radius:2px}.features-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:40px}.feature-item{background:#fafafa;padding:20px;border-radius:8px;border-left:4px solid #1890ff}.feature-item strong{display:block;font-size:16px;color:#262626;margin-bottom:8px}.feature-item p{margin:0;font-size:14px;color:#8c8c8c}.tech-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.tech-tag{background:#e6f7ff;color:#1890ff;padding:6px 12px;border-radius:16px;font-size:14px;font-weight:500;border:1px solid #91d5ff}.contact-intro{text-align:center;margin-bottom:40px}.contact-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:40px}.contact-card{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:24px;text-align:center;transition:all .3s ease}.contact-card:hover{border-color:#1890ff;box-shadow:0 4px 12px #1890ff1a}.contact-icon{font-size:32px;margin-bottom:16px;display:block}.contact-card h3{font-size:16px;font-weight:600;color:#262626;margin-bottom:12px}.contact-card p{font-size:14px;color:#8c8c8c;line-height:1.5;margin-bottom:8px}.contact-card p:last-child{margin-bottom:0}.contact-form-section{background:#fafafa;padding:32px;border-radius:8px;margin-bottom:40px}.contact-form{max-width:600px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.contact-form .form-group{margin-bottom:20px}.contact-form label{display:block;margin-bottom:8px;color:#262626;font-weight:500;font-size:14px}.contact-form input,.contact-form textarea{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .3s ease;background:#fff;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 3px #1890ff1a}.submit-btn{background:#1890ff;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;width:100%}.submit-btn:hover{background:#40a9ff;transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}@media (max-width: 1200px){.dashboard{grid-template-columns:1fr;gap:16px}.analytics-data{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media (max-width: 768px){.main-layout.with-sidebar{margin-left:0}.content-wrapper{padding:16px}.page-container{padding:16px;margin-bottom:16px}.page{margin:16px;padding:16px}.navigation-links{flex-direction:column;align-items:flex-start}.analytics-data{grid-template-columns:1fr}.feedback{bottom:16px;right:16px;padding:10px 14px;font-size:13px}}@media (max-width: 480px){.login-form{margin:16px;padding:24px}.error-title{font-size:48px}.stat-card{padding:16px}.stat-number{font-size:24px}}
