*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f5f5;color:#333}#app{width:100%;min-height:100vh}.text-center{text-align:center}.text-right{text-align:right}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.ml-sm{margin-left:8px}.ml-md{margin-left:16px}.mr-sm{margin-right:8px}.mr-md{margin-right:16px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#1890ff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0076e4}.btn-success{background-color:#52c41a;color:#fff}.btn-success:hover:not(:disabled){background-color:#3f9714}.btn-danger{background-color:#f5222d;color:#fff}.btn-danger:hover:not(:disabled){background-color:#da0a15}.btn-secondary{background-color:#fafafa;color:#333;border:1px solid #d9d9d9}.btn-secondary:hover:not(:disabled){background-color:#ededed}.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;border:1px solid #e8e8e8}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden}.table thead{background:#fafafa}.table thead th{padding:16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #d9d9d9}.table tbody tr{border-bottom:1px solid #e8e8e8;transition:background-color .15s ease}.table tbody tr:hover{background-color:#fafafa}.table tbody tr:last-child{border-bottom:none}.table tbody td{padding:16px;color:#333}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#333}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 16px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .15s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#1890ff}.form-group textarea{resize:vertical;min-height:80px}.checkbox-group{display:flex;align-items:center;gap:8px}.checkbox-group input[type=checkbox]{width:auto}.checkbox-group label{margin-bottom:0;font-weight:400}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:500}.badge.badge-success{background-color:#caf5b5;color:#3f9714}.badge.badge-warning{background-color:#fef3dc;color:#a46f04}.badge.badge-error{background-color:#fee5e6;color:#da0a15}.badge.badge-info{background-color:#e4f2ff;color:#0076e4}.menu-item{width:100%;padding:8px 16px;background:none;border:none;text-align:left;cursor:pointer;color:#333;font-size:14px;font-family:inherit;transition:background-color .15s ease;display:block}.menu-item:hover{background:#f5f5f5}.menu-item:active{background:#e8e8e8}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item.menu-item-danger{color:#f5222d}.menu-item.menu-item-danger:hover{background:#f5222d1a}.main-nav[data-v-254af1a2]{background:#fff;border-bottom:1px solid #e8e8e8;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100}.nav-container[data-v-254af1a2]{max-width:1400px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:32px;height:64px}.nav-brand .brand-link[data-v-254af1a2]{display:flex;align-items:center;gap:8px;text-decoration:none;color:#333;font-weight:700;font-size:20px;transition:color .15s ease}.nav-brand .brand-link[data-v-254af1a2]:hover{color:#1890ff}.nav-brand .brand-icon[data-v-254af1a2]{font-size:28px}.nav-brand .brand-name[data-v-254af1a2]{letter-spacing:-.5px}.nav-links[data-v-254af1a2]{display:flex;align-items:center;gap:8px;flex:1}.nav-link[data-v-254af1a2]{padding:8px 16px;text-decoration:none;color:#666;font-weight:500;font-size:14px;border-radius:4px;transition:all .15s ease;background:none;border:none;cursor:pointer;font-family:inherit}.nav-link[data-v-254af1a2]:hover{color:#333;background:#f5f5f5}.nav-link.active[data-v-254af1a2]{color:#1890ff;background:#fefeff}.user-menu[data-v-254af1a2]{position:relative;margin-left:auto}.user-avatar[data-v-254af1a2]{width:40px;height:40px;border-radius:50%;background:#f5f5f5;border:2px solid #d9d9d9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;padding:0}.user-avatar[data-v-254af1a2]:hover{background:#fafafa;border-color:#1890ff}.user-avatar.open[data-v-254af1a2]{border-color:#1890ff;background:#fefeff}.user-avatar .avatar-circle[data-v-254af1a2]{font-size:20px;color:#333}.user-dropdown[data-v-254af1a2]{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border:1px solid #e8e8e8;border-radius:4px;box-shadow:0 8px 16px #0003;padding:4px 0;z-index:1000}.user-dropdown .dropdown-item[data-v-254af1a2]{display:block;width:100%;padding:8px 16px;text-align:left;text-decoration:none;color:#333;font-weight:500;font-size:14px;background:none;border:none;cursor:pointer;font-family:inherit;transition:background .15s ease}.user-dropdown .dropdown-item[data-v-254af1a2]:hover{background:#f5f5f5}.user-dropdown .dropdown-item.logout-item[data-v-254af1a2]{color:#f5222d}.user-dropdown .dropdown-item.logout-item[data-v-254af1a2]:hover{background:#f5222d1a}.user-dropdown .dropdown-divider[data-v-254af1a2]{height:1px;background:#e8e8e8;margin:4px 0}.hamburger[data-v-254af1a2]{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}.hamburger span[data-v-254af1a2]{display:block;width:24px;height:3px;background:#333;border-radius:2px;transition:all .3s ease}.hamburger.open span[data-v-254af1a2]:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger.open span[data-v-254af1a2]:nth-child(2){opacity:0}.hamburger.open span[data-v-254af1a2]:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}@media (max-width: 768px){.nav-container[data-v-254af1a2]{position:relative}.nav-brand[data-v-254af1a2]{flex:0 0 auto}.hamburger[data-v-254af1a2]{display:flex;position:absolute;right:74px;top:50%;transform:translateY(-50%)}.user-menu[data-v-254af1a2]{margin-left:0}.user-dropdown[data-v-254af1a2]{right:0;left:auto}.nav-links[data-v-254af1a2]{display:none;position:absolute;top:100%;left:0;right:0;width:100%;flex-direction:column;gap:0;background:#fff;border-top:1px solid #e8e8e8;padding:8px 0;box-shadow:0 2px 4px #0000001a}.nav-links.open[data-v-254af1a2]{display:flex}.nav-link[data-v-254af1a2]{width:100%;border-radius:0;padding:16px 24px}.nav-link[data-v-254af1a2]:hover{background:#f5f5f5}.nav-link.active[data-v-254af1a2]{background:#fefeff;border-left:3px solid #1890ff}}.app[data-v-21c7e166]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-21c7e166]{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:24px}.main-content.login-layout[data-v-21c7e166]{max-width:none;padding:0}.toast-container[data-v-21c7e166]{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;max-width:400px;pointer-events:none}.toast[data-v-21c7e166]{background:#fff;border-radius:4px;box-shadow:0 8px 16px #0003;padding:16px;border-left:4px solid;pointer-events:auto;animation:slideIn-21c7e166 .3s ease-out}.toast.toast-success[data-v-21c7e166]{border-left-color:#52c41a;background:#eafbe2}.toast.toast-error[data-v-21c7e166]{border-left-color:#f5222d;background:#fffefe}.toast.toast-warning[data-v-21c7e166]{border-left-color:#faad14;background:#fffbf5}.toast.toast-info[data-v-21c7e166]{border-left-color:#1890ff;background:#fefeff}.toast-content[data-v-21c7e166]{display:flex;align-items:flex-start;gap:16px;justify-content:space-between}.toast-message[data-v-21c7e166]{flex:1;color:#333;font-size:14px;line-height:1.5;word-break:break-word}.toast-close[data-v-21c7e166]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .15s ease;flex-shrink:0}.toast-close[data-v-21c7e166]:hover{color:#333}@keyframes slideIn-21c7e166{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast-container[data-v-21c7e166]{left:16px;right:16px;max-width:none}}
