*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}:root{--primary-color:#1890ff;--success-color:#52c41a;--warning-color:#faad14;--error-color:#f5222d;--border-radius:4px;--font-size-base:14px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}[data-theme=dark]{--bg-primary:#141414;--bg-secondary:#1f1f1f;--bg-tag:#f5f5f5;--text-primary:#ffffffd9;--text-secondary:#ffffffa6;--border-color:#434343;--pin-mask-bg:#0009;--pin-modal-bg:#1e1e1eb3;--pin-modal-border:#ffffff1a;--pin-modal-shadow:0 8px 32px 0 #0000004d;--pin-field-bg:#0003;--pin-field-border:#ffffff26;--pin-field-focus-border:#177ddc;--pin-text:#fff}[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tag:#f5f5f5;--text-primary:#000000d9;--text-secondary:#000000a6;--border-color:#d9d9d9;--pin-mask-bg:#ffffff4d;--pin-mask-blur:4px;--pin-modal-bg:#e6e6e6a6;--pin-modal-border:#fff6;--pin-modal-shadow:0 8px 32px 0 #1f268726;--pin-field-bg:#ffffff80;--pin-field-border:#0000001a;--pin-field-focus-border:#1890ff;--pin-text:#333}.container{max-width:1200px;margin:0 auto;padding:0 16px}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:root,[data-theme=light]{--sider-bg:#f5f6fa;--sider-border:#0000000a;--card-bg:#fff;--card-shadow:0 2px 12px #0000000f;--card-shadow-hover:0 4px 20px #0000001a;--card-radius:14px;--menu-item-color:#0000008c;--menu-item-hover-bg:#1890ff12;--menu-item-hover-color:#1890ff;--menu-item-active-bg:#1890ff1c;--menu-item-active-color:#1890ff;--menu-sub-bg:transparent;--user-hover-bg:#0000000a}[data-theme=dark]{--sider-bg:#1a1d2e;--sider-border:#ffffff0d;--card-bg:#232638;--card-shadow:0 2px 12px #0003;--card-shadow-hover:0 4px 20px #0000004d;--card-radius:14px;--menu-item-color:#ffffff8c;--menu-item-hover-bg:#1890ff1f;--menu-item-hover-color:#40a9ff;--menu-item-active-bg:#1890ff2e;--menu-item-active-color:#40a9ff;--menu-sub-bg:transparent;--user-hover-bg:#ffffff0f}.app-root{background:var(--bg-secondary);width:100vw;height:100vh;display:flex;overflow:hidden}.sider{background:var(--sider-bg);z-index:10;flex-direction:column;flex-shrink:0;width:240px;min-width:240px;height:100vh;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.app-root.is-collapsed .sider{width:72px;min-width:72px}.sider-brand-card{background:var(--card-bg);box-shadow:var(--card-shadow);white-space:nowrap;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;margin:16px 12px 8px;padding:14px 16px;transition:all .3s;display:flex;overflow:hidden}.sider-brand-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}.app-root.is-collapsed .sider-brand-card{justify-content:center;margin:12px 10px 6px;padding:14px 10px}.app-root.is-collapsed .sider-brand-card .brand-logo-wrap{border-radius:10px;width:36px;height:36px}.app-root.is-collapsed .sider-brand-card .brand-info{display:none}.brand-logo-wrap{background:linear-gradient(135deg,#1890ff 0%,#36cfc9 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden;box-shadow:0 3px 10px #1890ff4d}.brand-logo{object-fit:contain;width:32px;height:32px}.brand-info{flex-direction:column;animation:.3s fadeIn;display:flex;overflow:hidden}.brand-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.35;overflow:hidden}.brand-sub{color:var(--text-secondary);margin-top:1px;font-size:11px;line-height:1.35}.sider-nav{flex:1;padding:8px 0;overflow:hidden auto}.sider-nav::-webkit-scrollbar{width:3px}.sider-nav::-webkit-scrollbar-track{background:0 0}.sider-nav::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}.sider-nav::-webkit-scrollbar-thumb:hover{background:#00000026}.sider-menu{padding:0 4px;background:0 0!important;border-inline-end:none!important}.sider-menu .ant-menu-item,.sider-menu .ant-menu-submenu-title{width:calc(100% - 8px)!important;color:var(--menu-item-color)!important;border-radius:10px!important;height:44px!important;margin:3px 4px!important;font-size:14px!important;line-height:44px!important;transition:all .2s!important}.sider-menu .ant-menu-item:hover,.sider-menu .ant-menu-submenu-title:hover{background:var(--menu-item-hover-bg)!important;color:var(--menu-item-hover-color)!important}.sider-menu .ant-menu-item .anticon,.sider-menu .ant-menu-item .ant-menu-item-icon,.sider-menu .ant-menu-submenu-title .anticon,.sider-menu .ant-menu-submenu-title .ant-menu-item-icon{margin-inline-end:10px!important;font-size:17px!important;transition:color .2s!important}.sider-menu .ant-menu-item-selected{color:var(--menu-item-active-color)!important;background:linear-gradient(135deg,#1890ff21 0%,#36cfc917 100%)!important;font-weight:500!important;box-shadow:0 2px 10px #1890ff1a!important}.sider-menu .ant-menu-item-selected:after{display:none!important}.sider-menu .ant-menu-item-selected .ant-menu-item-icon,.sider-menu .ant-menu-item-selected .anticon{color:#1890ff!important}.sider-menu .ant-menu-sub{background:0 0!important}.sider-menu .ant-menu-sub .ant-menu-submenu-title{margin:2px 4px!important}.sider-menu .ant-menu-sub .ant-menu-item{border-radius:8px!important;height:40px!important;margin:2px 4px!important;padding-left:48px!important;font-size:12px!important;line-height:40px!important}.sider-menu .ant-menu-submenu-arrow{opacity:.45;color:var(--menu-item-color)!important;transition:all .2s!important}.sider-menu .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:1;color:#1890ff!important;transform:rotate(180deg)!important}.sider-menu .ant-menu-inline-collapsed-tooltip .ant-tooltip-inner{font-size:12px;border-radius:8px!important}.sider-footer-card{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:6px;flex-shrink:0;align-items:center;gap:0;margin:8px 12px 16px;padding:10px 16px;transition:all .3s;display:flex}.sider-footer-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}.sider-footer-card:before{content:"";background:var(--border-color);opacity:.25;border-radius:1px;flex-shrink:0;width:1px;height:20px;margin:0 10px;transition:opacity .2s}.sider-footer-card.is-collapsed{flex-direction:column;gap:8px;margin:6px 10px 12px;padding:10px 8px}.sider-footer-card.is-collapsed:before{display:none}.sider-footer-card.is-collapsed .sider-user{justify-content:center;padding:0}.sider-footer-card.is-collapsed .collapse-btn{width:100%;height:28px}.sider-user{cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;min-width:0;padding:2px 4px;transition:background .2s;display:flex}.sider-user:hover{background:var(--user-hover-bg)}.user-avatar{flex-shrink:0;background:linear-gradient(135deg,#1890ff,#36cfc9)!important;border:2px solid #1890ff26!important;font-size:12px!important;transition:border-color .2s,transform .2s!important}.sider-user:hover .user-avatar{border-color:#1890ff59!important}.user-info{flex-direction:column;flex:1;min-width:0;margin-left:4px;animation:.3s fadeIn;display:flex;overflow:hidden}.user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.3;overflow:hidden}.collapse-btn{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:all .2s;display:flex}.collapse-btn:hover{background:var(--user-hover-bg);color:#1890ff}.app-main{background:var(--bg-secondary);flex:1;min-width:0;height:100vh;overflow:hidden auto}.app-main::-webkit-scrollbar{width:6px}.app-main::-webkit-scrollbar-track{background:0 0}.app-main::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.app-main::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-content{min-height:100%;padding:24px}@keyframes fadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}
