@charset "UTF-8";#app{min-height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5;color:#333;transition:background-color .3s ease,color .3s ease}#app.dark-mode{background-color:#121212;color:#e0e0e0}.global-nav{background-color:#4caf50;color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px #0000001a}.global-nav .container{max-width:1200px;margin:0 auto;padding:0 20px}.global-nav .nav-content{display:flex;justify-content:space-between;align-items:center;height:60px}.global-nav .nav-logo{display:flex;align-items:center;color:#fff;font-size:18px;font-weight:700;text-decoration:none}.global-nav .nav-logo svg{margin-right:8px}.global-nav .nav-logo .logo-text{display:none}@media(min-width:768px){.global-nav .nav-logo .logo-text{display:inline}}.global-nav .nav-links{display:flex;gap:20px}@media(max-width:768px){.global-nav .nav-links{display:none}}.global-nav .nav-links .nav-link{color:#fff;text-decoration:none;font-size:14px;font-weight:500;padding:8px 0;transition:opacity .3s ease}.global-nav .nav-links .nav-link:hover{opacity:.9}.global-nav .nav-links .nav-link.router-link-active{border-bottom:2px solid white}.global-nav .nav-actions{display:flex;align-items:center;gap:12px}.global-nav .nav-actions .btn.btn-sm{padding:6px 12px;font-size:12px}.global-nav .nav-actions .user-profile .user-dropdown-btn{display:flex;align-items:center;background:transparent;border:none;color:#fff;cursor:pointer}.global-nav .nav-actions .user-profile .user-dropdown-btn .user-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;margin-right:8px}.global-nav .nav-actions .user-profile .user-dropdown-btn .user-avatar img{width:100%;height:100%;object-fit:cover}.global-nav .nav-actions .user-profile .user-dropdown-btn .user-name{font-size:14px;font-weight:500;display:none}@media(min-width:768px){.global-nav .nav-actions .user-profile .user-dropdown-btn .user-name{display:inline}}.main-content{flex:1;min-height:0}.global-footer{background-color:#1a1a1a;color:#666;padding:40px 0 20px}.global-footer .container{max-width:1200px;margin:0 auto;padding:0 20px}.global-footer .footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-bottom:30px}.global-footer .footer-section .footer-title{font-size:18px;font-weight:700;color:#333;margin-bottom:16px}.global-footer .footer-section .footer-subtitle{font-size:16px;font-weight:600;color:#333;margin-bottom:16px}.global-footer .footer-section .footer-description{line-height:1.6;margin-bottom:0}.global-footer .footer-section .footer-links{list-style:none;padding:0;margin:0}.global-footer .footer-section .footer-links li{margin-bottom:10px}.global-footer .footer-section .footer-links a{color:#666;text-decoration:none;transition:color .3s ease}.global-footer .footer-section .footer-links a:hover{color:#4caf50}.global-footer .footer-bottom{border-top:1px solid #e8e8e8;padding-top:20px;text-align:center}.global-footer .footer-bottom .copyright{font-size:14px;margin-bottom:8px}.global-footer .footer-bottom .disclaimer{font-size:12px;opacity:.8}.global-loading{position:fixed;inset:0;background-color:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000}.dark-mode .global-loading{background-color:#111827cc}.global-loading .loading-spinner{width:48px;height:48px;border:4px solid rgba(76,175,80,.2);border-radius:50%;border-top-color:#4caf50;animation:spin 1s ease-in-out infinite;margin-bottom:16px}.global-loading .loading-text{font-size:16px;color:#333}.global-notification{position:fixed;top:80px;right:20px;z-index:2000;max-width:400px;min-width:280px;animation:slideInRight .3s ease}.global-notification .notification-content{display:flex;align-items:center;padding:16px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;background-color:#fff}.dark-mode .global-notification .notification-content{background-color:#f5f5f5}.global-notification .notification-text{flex:1;font-size:14px}.global-notification .notification-close{background:none;border:none;font-size:20px;cursor:pointer;color:#666;margin-left:16px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.global-notification .notification-close:hover{color:#333}.global-notification.info .notification-content{background-color:#1890ff1a;border-left:4px solid #1890ff}.global-notification.success .notification-content{background-color:#4caf501a;border-left:4px solid #52c41a}.global-notification.warning .notification-content{background-color:#ff98001a;border-left:4px solid #faad14}.global-notification.error .notification-content{background-color:#f443361a;border-left:4px solid #f5222d}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:768px){.global-nav .nav-content{height:56px}.global-nav .nav-logo{font-size:16px}.global-footer{padding:30px 0 15px}.global-footer .footer-content{grid-template-columns:1fr;gap:20px}.global-notification{top:70px;right:10px;left:10px;max-width:none}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:#333;background-color:#f5f5f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color all .3s ease,color all .3s ease}.dark body{background-color:#121212;color:#e0e0e0}a{color:#4caf50;text-decoration:none;transition:color all .3s ease}a:hover{color:#45a049}a:active,a:focus{outline:none}.dark a{color:#66bb6a}.dark a:hover{color:#45a049}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:14px;font-weight:500;line-height:1.5;border-radius:8px;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#4caf50;color:#fff}.btn-primary:hover:not(:disabled){background-color:#45a049}.btn-success{background-color:#52c41a;color:#fff}.btn-warning{background-color:#faad14;color:#fff}.btn-error{background-color:#f5222d;color:#fff}.btn-default{background-color:#fff;color:#333;border-color:#e8e8e8}.dark .btn-default{background-color:#1e1e1e;color:#e0e0e0;border-color:#333}.card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000f;padding:20px;transition:all .3s ease}.card:hover{box-shadow:0 4px 16px #0000001a}.dark .card{background-color:#1e1e1e;box-shadow:0 2px 8px #0000004d}.dark .card:hover{box-shadow:0 4px 16px #00000080}h1,h2,h3,h4,h5,h6{margin-bottom:16px;color:#333;font-weight:600;line-height:1.2}h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:#e0e0e0}p{margin-bottom:16px;color:#666;line-height:1.6}.dark p{color:#b0b0b0}.input{width:100%;padding:8px 12px;font-size:14px;border:1px solid #e8e8e8;border-radius:8px;background-color:#fff;color:#333;transition:all .3s ease}.input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf501a}.input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.dark .input{background-color:#1e1e1e;color:#e0e0e0;border-color:#333}.dark .input:focus{box-shadow:0 0 0 2px #66bb6a33}.dark .input:disabled{background-color:#121212;color:#707070}ul,ol{margin-bottom:16px;padding-left:24px}li{margin-bottom:8px;color:#666}.dark li{color:#b0b0b0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:#333!important}.text-secondary{color:#666!important}.text-success{color:#52c41a!important}.text-warning{color:#faad14!important}.text-error{color:#f5222d!important}.text-disabled{color:#999!important}.dark .text-primary{color:#e0e0e0!important}.dark .text-secondary{color:#b0b0b0!important}.dark .text-disabled{color:#707070!important}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-10{margin-top:40px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-10{margin-bottom:40px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.ml-3{margin-left:12px}.ml-4{margin-left:16px}.ml-5{margin-left:20px}.ml-6{margin-left:24px}.ml-8{margin-left:32px}.ml-10{margin-left:40px}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mr-3{margin-right:12px}.mr-4{margin-right:16px}.mr-5{margin-right:20px}.mr-6{margin-right:24px}.mr-8{margin-right:32px}.mr-10{margin-right:40px}.pt-1{padding-top:4px}.pt-2{padding-top:8px}.pt-3{padding-top:12px}.pt-4{padding-top:16px}.pt-5{padding-top:20px}.pt-6{padding-top:24px}.pt-8{padding-top:32px}.pt-10{padding-top:40px}.pb-1{padding-bottom:4px}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:12px}.pb-4{padding-bottom:16px}.pb-5{padding-bottom:20px}.pb-6{padding-bottom:24px}.pb-8{padding-bottom:32px}.pb-10{padding-bottom:40px}.pl-1{padding-left:4px}.pl-2{padding-left:8px}.pl-3{padding-left:12px}.pl-4{padding-left:16px}.pl-5{padding-left:20px}.pl-6{padding-left:24px}.pl-8{padding-left:32px}.pl-10{padding-left:40px}.pr-1{padding-right:4px}.pr-2{padding-right:8px}.pr-3{padding-right:12px}.pr-4{padding-right:16px}.pr-5{padding-right:20px}.pr-6{padding-right:24px}.pr-8{padding-right:32px}.pr-10{padding-right:40px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.fade-in{animation:fadeIn .3s ease-out}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s infinite}@media(max-width:768px){.container{padding:0 16px}h1{font-size:24px}h2{font-size:20px}.card{padding:16px}.btn{padding:6px 12px;font-size:13px}}@media(max-width:480px){.container{padding:0 12px}h1{font-size:22px}h2{font-size:18px}.card{padding:12px}}
