#app{min-height:100vh;width:100%;position:relative;overflow-x:hidden;background:transparent}.dynamic-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;background:linear-gradient(135deg,#f5f7fa,#e8ecf1 25%,#e3e8ef 50%,#f0f4f8 75%,#e8ecf1);background-size:400% 400%;animation:gradientShift 25s ease infinite;pointer-events:none}.dynamic-bg:before{left:-50%;background:radial-gradient(circle,rgba(102,126,234,.08) 0,transparent 50%);animation:rotate 30s linear infinite}.dynamic-bg:after,.dynamic-bg:before{content:"";position:absolute;top:-50%;width:200%;height:200%}.dynamic-bg:after{right:-50%;background:radial-gradient(circle,rgba(118,75,162,.08) 0,transparent 50%);animation:rotate 40s linear infinite reverse}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#app>:not(.dynamic-bg):not(.particles-bg){position:relative;z-index:1}.particles-bg{pointer-events:none}.home[data-v-0ccd1718]{padding-bottom:60px;min-height:100vh;position:relative}.announcement-swipe[data-v-0ccd1718]{height:200px;margin:10px;margin-bottom:10px;border-radius:20px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.15)}.announcement-item[data-v-0ccd1718]{height:100%;position:relative;overflow:hidden}.announcement-item img[data-v-0ccd1718]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s ease}.announcement-item:hover img[data-v-0ccd1718]{transform:scale(1.1)}.announcement-content[data-v-0ccd1718]{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.6));color:var(--text-inverse,#fff);padding:20px 15px 15px;animation:slideInUp .6s ease-out}.announcement-content h3[data-v-0ccd1718]{font-size:16px;margin-bottom:5px;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3)}.announcement-content p[data-v-0ccd1718]{font-size:12px;opacity:.9}.search-bar[data-v-0ccd1718]{padding:15px;background:hsla(0,0%,100%,.1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.2);position:sticky;top:0;z-index:100;margin:0 10px 10px 10px;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.search-bar[data-v-0ccd1718] .van-search{border-radius:16px;overflow:hidden}.search-bar[data-v-0ccd1718] .van-search__content{border-radius:16px}.voice-search[data-v-0ccd1718]{padding:0 10px;display:flex;align-items:center;color:var(--text-primary,#1a237e);cursor:pointer;transition:transform .3s ease}.voice-search[data-v-0ccd1718]:active{transform:scale(.9)}.tutorial-list[data-v-0ccd1718]{padding:10px}.tutorial-card[data-v-0ccd1718]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);border-radius:16px;margin-bottom:15px;overflow:hidden;display:flex;align-items:stretch;box-shadow:0 8px 32px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideInUp .6s ease-out;animation-fill-mode:both}.tutorial-card[data-v-0ccd1718]:first-child{animation-delay:.1s}.tutorial-card[data-v-0ccd1718]:nth-child(2){animation-delay:.2s}.tutorial-card[data-v-0ccd1718]:nth-child(3){animation-delay:.3s}.tutorial-card[data-v-0ccd1718]:nth-child(4){animation-delay:.4s}.tutorial-card[data-v-0ccd1718]:nth-child(5){animation-delay:.5s}.tutorial-card[data-v-0ccd1718]:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(102,126,234,.3);border-color:hsla(0,0%,100%,.5)}.tutorial-cover[data-v-0ccd1718]{width:120px;min-height:100%;position:relative;flex-shrink:0;overflow:hidden;border-radius:16px 0 0 16px;display:flex;align-items:stretch;align-self:stretch}.tutorial-cover img[data-v-0ccd1718]{width:100%;height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block;transition:transform .5s ease;border-radius:16px 0 0 16px}.tutorial-card:hover .tutorial-cover img[data-v-0ccd1718]{transform:scale(1.1)}.tutorial-type[data-v-0ccd1718]{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,rgba(102,126,234,.9),rgba(118,75,162,.9));backdrop-filter:blur(10px);color:var(--text-inverse,#fff);padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:1}.tutorial-info[data-v-0ccd1718]{flex:1;padding:15px;display:flex;flex-direction:column;justify-content:space-between;min-height:100%;align-self:stretch}.tutorial-info h3[data-v-0ccd1718]{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text-primary,#1a237e);text-shadow:0 1px 2px hsla(0,0%,100%,.5);-webkit-line-clamp:1}.description[data-v-0ccd1718],.tutorial-info h3[data-v-0ccd1718]{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.description[data-v-0ccd1718]{font-size:13px;color:var(--text-secondary,#283593);margin:0 0 8px 0;-webkit-line-clamp:2;text-shadow:0 1px 1px hsla(0,0%,100%,.3)}.tutorial-meta[data-v-0ccd1718]{font-size:12px;color:var(--text-tertiary,#3949ab)}.engineer-entry[data-v-0ccd1718]{position:fixed;bottom:0;left:0;right:0;padding:10px 15px;background:hsla(0,0%,100%,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid hsla(0,0%,100%,.2);box-shadow:0 -4px 20px rgba(0,0,0,.1)}.engineer-entry[data-v-0ccd1718] .van-button{background:linear-gradient(135deg,rgba(102,126,234,.9),rgba(118,75,162,.9));border:none;border-radius:30px!important;box-shadow:0 4px 16px rgba(102,126,234,.4);transition:all .3s ease;padding:8px 20px!important;font-size:14px!important;height:auto!important;line-height:1.5!important;max-width:300px;margin:0 auto}.engineer-entry[data-v-0ccd1718] .van-button:active{transform:scale(.98);box-shadow:0 2px 8px rgba(102,126,234,.3)}.tutorial-detail[data-v-23b2ac78]{min-height:100vh;background:transparent}.loading[data-v-23b2ac78]{padding:50px;text-align:center}.content[data-v-23b2ac78]{padding-bottom:20px}.video-section[data-v-23b2ac78]{width:100%;background:#000}.video-player[data-v-23b2ac78]{width:100%;height:auto;max-height:50vh}.article-section[data-v-23b2ac78]{padding:15px}.article-content[data-v-23b2ac78]{line-height:1.8;color:var(--text-secondary,#283593);padding:15px;background:hsla(0,0%,100%,.1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.2);border-radius:16px;margin:10px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.article-content img[data-v-23b2ac78]{height:auto!important;border-radius:8px}.article-content .ql-image-resizable-container[data-v-23b2ac78],.article-content img[data-v-23b2ac78]{max-width:100%!important;display:block;margin:15px auto}.article-content .ql-image-resizable-container img[data-v-23b2ac78]{max-width:100%!important;height:auto!important}.article-content p[data-v-23b2ac78]{margin:10px 0}.article-content h1[data-v-23b2ac78],.article-content h2[data-v-23b2ac78],.article-content h3[data-v-23b2ac78]{margin:20px 0 10px 0;font-weight:600;color:var(--text-primary,#1a237e);text-shadow:0 1px 1px hsla(0,0%,100%,.3)}.article-content ol[data-v-23b2ac78],.article-content ul[data-v-23b2ac78]{margin:10px 0;padding-left:20px;color:var(--text-secondary,#283593)}.article-content a[data-v-23b2ac78]{color:var(--text-tertiary,#3949ab);text-decoration:none;font-weight:500}.article-content a[data-v-23b2ac78]:hover{color:var(--text-primary,#1a237e);text-decoration:underline}.tutorial-header[data-v-23b2ac78]{padding:15px;background:hsla(0,0%,100%,.1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.2);border-radius:16px;margin:10px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.tutorial-header h2[data-v-23b2ac78]{font-size:18px;margin-bottom:10px;color:var(--text-primary,#1a237e);font-weight:600;text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.description[data-v-23b2ac78]{color:var(--text-secondary,#283593);font-size:14px;margin-bottom:10px;line-height:1.6}.meta[data-v-23b2ac78]{font-size:12px;color:var(--text-tertiary,#3949ab)}.actions[data-v-23b2ac78]{padding:15px}.comments-section[data-v-23b2ac78]{padding:15px;border-top:1px solid hsla(0,0%,100%,.2);margin-top:20px}.comments-section h3[data-v-23b2ac78]{font-size:16px;margin-bottom:15px;color:var(--text-primary,#1a237e);font-weight:600}.comment-form[data-v-23b2ac78]{margin-bottom:20px;background:hsla(0,0%,100%,.1);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.2);border-radius:16px;padding:15px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.comment-form[data-v-23b2ac78] .van-field__control{color:var(--text-primary,#1a237e)!important}.comment-form[data-v-23b2ac78] .van-field__label{color:var(--text-secondary,#283593)!important}.comments-list[data-v-23b2ac78]{margin-top:20px}.comment-item[data-v-23b2ac78]{padding:12px 0;border-bottom:1px solid hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;padding:12px 15px;margin-bottom:10px}.comment-header[data-v-23b2ac78]{display:flex;justify-content:space-between;margin-bottom:5px}.nickname[data-v-23b2ac78]{font-weight:600;color:var(--text-primary,#1a237e);font-size:14px}.time[data-v-23b2ac78]{font-size:12px;color:var(--text-tertiary,#3949ab)}.comment-content[data-v-23b2ac78]{color:var(--text-secondary,#283593);font-size:14px;line-height:1.6}.login-page[data-v-1e9a2b2e]{min-height:100vh;background:#f5f5f5}.login-form[data-v-1e9a2b2e]{padding:20px;margin-top:20px}.form-options[data-v-1e9a2b2e]{padding:15px}.form-buttons[data-v-1e9a2b2e]{padding:20px 15px}.register-page[data-v-5d05dba1]{min-height:100vh;background:#f5f5f5}.register-form[data-v-5d05dba1]{padding:20px;margin-top:20px}.form-buttons[data-v-5d05dba1]{padding:20px 15px}.dashboard[data-v-26163d46]{min-height:100vh;background:transparent;padding-bottom:20px}.user-info[data-v-26163d46]{margin:15px;animation:slideInUp .6s ease-out}.user-info-card[data-v-26163d46]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);border-radius:20px;padding:20px 24px;box-shadow:0 8px 32px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.user-info-card[data-v-26163d46]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent);transition:left .5s}.user-info-card[data-v-26163d46]:hover:before{left:100%}.user-info-card[data-v-26163d46]:hover{box-shadow:0 12px 40px rgba(102,126,234,.3);transform:translateY(-4px);border-color:hsla(0,0%,100%,.5)}.user-info-content[data-v-26163d46]{display:flex;align-items:center;gap:16px}.user-icon[data-v-26163d46]{width:48px;height:48px;background:linear-gradient(135deg,rgba(102,126,234,.3),rgba(118,75,162,.3));backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.1)}.user-icon[data-v-26163d46] .van-icon{font-size:24px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.user-details[data-v-26163d46]{flex:1;min-width:0}.user-department[data-v-26163d46]{font-size:13px;color:var(--text-secondary,#283593);margin-bottom:4px;font-weight:500;text-shadow:0 1px 1px hsla(0,0%,100%,.3)}.user-name[data-v-26163d46]{font-size:18px;color:var(--text-primary,#1a237e);font-weight:600;line-height:1.4;text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.user-placeholder[data-v-26163d46]{font-size:16px;color:var(--text-tertiary,#3949ab);font-weight:500}.modules[data-v-26163d46]{margin:15px;max-width:1400px;margin-left:auto;margin-right:auto;padding:0 10px;animation:fadeIn .8s ease-in .2s both}[data-v-26163d46] .van-grid-item{padding:8px;overflow:visible!important}[data-v-26163d46] .van-grid-item__icon,[data-v-26163d46] .van-grid-item__text{color:var(--text-primary,#1a237e)!important}[data-v-26163d46] .van-grid-item__content,[data-v-26163d46] .van-grid-item__content-wrapper{border-radius:20px!important;overflow:hidden!important}[data-v-26163d46] .van-grid-item__content{padding:16px 8px!important;background:hsla(0,0%,100%,.15)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 24px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}[data-v-26163d46] .van-grid-item__content:before{border-radius:20px!important}[data-v-26163d46] .van-grid-item__content:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 16px 40px rgba(102,126,234,.4);border-color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.25)!important}@media (min-width:768px){.dashboard[data-v-26163d46]{padding:20px}.user-info[data-v-26163d46]{margin:0 0 24px 0;max-width:1400px;margin-left:auto;margin-right:auto}.user-info-card[data-v-26163d46]{padding:20px 24px;border-radius:16px}.user-icon[data-v-26163d46]{width:56px;height:56px}.user-icon[data-v-26163d46] .van-icon{font-size:28px}.user-department[data-v-26163d46]{font-size:14px;margin-bottom:6px}.user-name[data-v-26163d46]{font-size:20px}.modules[data-v-26163d46]{margin:0;padding:0}[data-v-26163d46] .van-grid-item{padding:12px!important;overflow:visible!important}[data-v-26163d46] .van-grid-item__content,[data-v-26163d46] .van-grid-item__content-wrapper{border-radius:20px!important;overflow:hidden!important}[data-v-26163d46] .van-grid-item__content{padding:20px 12px!important;background:hsla(0,0%,100%,.15)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 24px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}[data-v-26163d46] .van-grid-item__content:before{border-radius:20px!important}[data-v-26163d46] .van-grid-item__content:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 16px 40px rgba(102,126,234,.4);border-color:hsla(0,0%,100%,.6);background:hsla(0,0%,100%,.25)!important}[data-v-26163d46] .van-grid-item__icon{font-size:32px!important;margin-bottom:8px!important;color:var(--text-primary,#1a237e)!important}[data-v-26163d46] .van-grid-item__text{font-size:14px!important;line-height:1.4;color:var(--text-primary,#1a237e)!important}.module-item.disabled[data-v-26163d46] .van-grid-item__content{opacity:.6;cursor:not-allowed}.module-item.disabled[data-v-26163d46] .van-grid-item__content:hover{transform:none}}@media (max-width:767px){.user-info[data-v-26163d46]{margin:10px}.user-info-card[data-v-26163d46]{padding:14px 16px;border-radius:10px}.user-icon[data-v-26163d46]{width:44px;height:44px}.user-icon[data-v-26163d46] .van-icon{font-size:22px}.user-department[data-v-26163d46]{font-size:12px;margin-bottom:3px}.user-name[data-v-26163d46]{font-size:16px}.modules[data-v-26163d46]{margin:10px}}.workorder-list[data-v-c60e65c4]{min-height:100vh;background:transparent}.workorder-item[data-v-c60e65c4]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);margin:10px;padding:15px;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.1);color:var(--text-primary,#1a237e)}.workorder-header[data-v-c60e65c4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.project-name[data-v-c60e65c4]{font-size:16px;font-weight:600;color:var(--text-primary,#1a237e);text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.workorder-content[data-v-c60e65c4]{font-size:14px;color:var(--text-secondary,#283593);line-height:1.8}.workorder-content p[data-v-c60e65c4]{margin:5px 0}.workorder-content strong[data-v-c60e65c4]{color:var(--text-primary,#1a237e);text-shadow:0 1px 1px hsla(0,0%,100%,.3)}.time[data-v-c60e65c4]{margin-top:10px;font-size:12px;color:var(--text-tertiary,#3949ab)}.workorder-actions[data-v-c60e65c4]{margin-top:10px;text-align:right}.workorder-create[data-v-02ef32fd]{min-height:100vh;background:#f5f5f5;padding-bottom:20px}.form-buttons[data-v-02ef32fd]{padding:20px 15px}.station-report[data-v-4c114fc6]{min-height:100vh;background:#f5f5f5}.upload-section[data-v-4c114fc6]{padding:20px}.upload-trigger[data-v-4c114fc6]{width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f0f0f0;border-radius:8px;color:#999}.upload-trigger p[data-v-4c114fc6]{margin-top:5px;font-size:12px}.submit-section[data-v-4c114fc6]{padding:20px}.station-report-list[data-v-f0219e54]{min-height:100vh;background:transparent}.filter-section[data-v-f0219e54]{margin:10px}.filter-section[data-v-f0219e54] .van-field__label{color:hsla(0,0%,100%,.9)!important}.filter-section[data-v-f0219e54] .van-field__control{color:#fff!important}.report-item[data-v-f0219e54]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);margin:10px;padding:15px;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.report-header[data-v-f0219e54]{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px;color:var(--text-primary,#1a237e);font-weight:600;text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.time[data-v-f0219e54]{color:var(--text-secondary,#283593);font-size:12px}.report-actions[data-v-f0219e54]{margin-bottom:10px;text-align:right}.report-photos[data-v-f0219e54]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-item[data-v-f0219e54]{width:100%;padding-top:100%;position:relative;border-radius:4px;overflow:hidden}.photo-item img[data-v-f0219e54]{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tools-list[data-v-ad226532]{min-height:100vh;background:transparent}.tools-header[data-v-ad226532]{justify-content:space-between;align-items:center}.tool-item[data-v-ad226532],.tools-header[data-v-ad226532]{display:flex;padding:15px;background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);margin:10px;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.1);color:var(--text-primary,#1a237e)}.tool-item[data-v-ad226532]{align-items:flex-start;gap:10px}.tool-info[data-v-ad226532]{flex:1}.tool-header[data-v-ad226532]{display:flex;align-items:center;gap:10px;margin-bottom:5px}.tool-icon[data-v-ad226532]{color:var(--text-secondary,#283593);flex-shrink:0}.tool-name-wrapper[data-v-ad226532]{flex:1;min-width:0}.tool-name[data-v-ad226532]{font-size:16px;font-weight:600;color:var(--text-primary,#1a237e);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 1px hsla(0,0%,100%,.3)}.tool-filename[data-v-ad226532]{font-size:12px;color:var(--text-tertiary,#3949ab);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-version[data-v-ad226532]{font-size:12px;color:var(--text-secondary,#283593);margin-bottom:5px}.tool-description[data-v-ad226532]{font-size:14px;color:var(--text-secondary,#283593);margin-bottom:5px}.tool-meta[data-v-ad226532]{font-size:12px;color:var(--text-tertiary,#3949ab);display:flex;gap:15px}.tools-upload[data-v-5c3fb1b7]{min-height:100vh;background:#f5f5f5;padding-bottom:20px}.form-buttons[data-v-5c3fb1b7]{padding:20px 15px}.admin-login[data-v-11694540]{min-height:100vh;background:#f5f5f5}.login-form[data-v-11694540]{padding:20px;margin-top:20px}.form-buttons[data-v-11694540]{padding:20px 15px}.extra-actions[data-v-11694540]{margin-top:15px;text-align:center}.change-password-link[data-v-11694540]{color:var(--text-tertiary,#3949ab);font-size:14px;cursor:pointer;text-decoration:underline;transition:color .3s ease}.change-password-link[data-v-11694540]:hover{color:var(--text-primary,#1a237e)}.change-password-link[data-v-11694540]:active{opacity:.7}.rich-text-editor[data-v-6bdb5a5e]{border:1px solid #ddd;border-radius:4px;background:#fff}.editor-container[data-v-6bdb5a5e]{min-height:300px;max-height:500px;overflow-y:auto}.editor-toolbar[data-v-6bdb5a5e]{padding:10px;border-top:1px solid #eee;background:#fafafa}[data-v-6bdb5a5e] .ql-container{font-size:16px;line-height:1.6}[data-v-6bdb5a5e] .ql-editor{min-height:300px;padding:15px}[data-v-6bdb5a5e] .ql-editor .ql-image-resizable-container{position:relative;display:inline-block;margin:10px auto;max-width:100%}[data-v-6bdb5a5e] .ql-editor .ql-image-resizable-container.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-v-6bdb5a5e] .ql-editor .ql-image-resizable-img{max-width:100%;height:auto;display:block;margin:0}[data-v-6bdb5a5e] .ql-editor .ql-image-resize-handle{position:absolute;bottom:-2px;right:-2px;width:24px;height:24px;background:#1989fa;color:#fff;border-radius:50% 0 0 0;cursor:nwse-resize;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;z-index:10;opacity:0;transition:opacity .2s,transform .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 2px 6px rgba(0,0,0,.3);border:2px solid #fff}[data-v-6bdb5a5e] .ql-editor .ql-image-resize-handle:hover{transform:scale(1.1);background:#0570c9}[data-v-6bdb5a5e] .ql-editor .ql-image-resize-handle:active{transform:scale(.95)}[data-v-6bdb5a5e] .ql-editor .ql-image-resizable-container.resizing .ql-image-resize-handle,[data-v-6bdb5a5e] .ql-editor .ql-image-resizable-container:hover .ql-image-resize-handle{opacity:1}[data-v-6bdb5a5e] .ql-toolbar{border-top:none;border-left:none;border-right:none;border-bottom:1px solid #eee;padding:8px}@media (max-width:767px){.editor-container[data-v-6bdb5a5e]{min-height:250px;max-height:400px}[data-v-6bdb5a5e] .ql-editor{min-height:250px;padding:12px;font-size:14px}[data-v-6bdb5a5e] .ql-toolbar{padding:6px}[data-v-6bdb5a5e] .ql-toolbar .ql-formats{margin-right:4px}}.admin-dashboard[data-v-4c377b08]{min-height:100vh;background:transparent;position:relative}.tab-content[data-v-4c377b08]{padding:15px;animation:fadeIn .6s ease-in}.tab-content[data-v-4c377b08] .van-button{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);color:var(--text-primary,#1a237e);font-weight:600;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .3s ease}.tab-content[data-v-4c377b08] .van-button--primary{background:linear-gradient(135deg,rgba(102,126,234,.9),rgba(118,75,162,.9));color:var(--text-inverse,#fff);border-color:rgba(102,126,234,.5)}.tab-content[data-v-4c377b08] .van-button--danger{background:linear-gradient(135deg,rgba(244,67,54,.9),rgba(211,47,47,.9));color:var(--text-inverse,#fff);border-color:rgba(244,67,54,.5)}.tab-content[data-v-4c377b08] .van-button--success{background:linear-gradient(135deg,rgba(76,175,80,.9),rgba(56,142,60,.9));color:var(--text-inverse,#fff);border-color:rgba(76,175,80,.5)}.tab-content[data-v-4c377b08] .van-button--default{background:hsla(0,0%,100%,.2);color:var(--text-primary,#1a237e);border-color:hsla(0,0%,100%,.4)}.tab-content[data-v-4c377b08] .van-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(102,126,234,.3);border-color:hsla(0,0%,100%,.5)}.engineer-item[data-v-4c377b08]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);padding:15px;margin-bottom:10px;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .3s ease;animation:slideInUp .6s ease-out;animation-fill-mode:both}.engineer-item[data-v-4c377b08]:first-child{animation-delay:.1s}.engineer-item[data-v-4c377b08]:nth-child(2){animation-delay:.2s}.engineer-item[data-v-4c377b08]:nth-child(3){animation-delay:.3s}.engineer-item[data-v-4c377b08]:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(102,126,234,.2);border-color:hsla(0,0%,100%,.5)}.engineer-info[data-v-4c377b08]{margin-bottom:10px}.engineer-info p[data-v-4c377b08]{margin:5px 0;font-size:14px;color:var(--text-primary,#1a237e);font-weight:500}.engineer-actions[data-v-4c377b08]{display:flex;gap:10px}.department-section[data-v-4c377b08]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);padding:15px;margin-bottom:10px;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .3s ease;animation:slideInUp .6s ease-out;animation-fill-mode:both}.department-section[data-v-4c377b08]:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(102,126,234,.2)}.department-header[data-v-4c377b08]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.department-name[data-v-4c377b08]{font-weight:600;font-size:16px;color:var(--text-primary,#1a237e)}.department-users[data-v-4c377b08]{margin-top:10px}.user-item[data-v-4c377b08]{display:flex;justify-content:space-between;align-items:center;padding:10px;margin-bottom:5px;background:#f9f9f9;border-radius:4px}.user-info[data-v-4c377b08]{flex:1;display:flex;align-items:center;gap:10px}.user-meta[data-v-4c377b08]{font-size:12px;color:var(--text-tertiary,#3949ab)}.empty-users[data-v-4c377b08]{padding:10px;text-align:center;color:var(--text-secondary,#283593);font-size:14px}.tutorials-list[data-v-4c377b08]{margin-top:15px}.tutorial-item[data-v-4c377b08]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);padding:15px;margin-bottom:10px;border-radius:12px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .3s ease;animation:slideInUp .6s ease-out;animation-fill-mode:both}.tutorial-item[data-v-4c377b08]:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(102,126,234,.2);border-color:hsla(0,0%,100%,.5)}.tutorial-info[data-v-4c377b08]{flex:1;margin-right:10px}.tutorial-header[data-v-4c377b08]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tutorial-header h4[data-v-4c377b08]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary,#1a237e);flex:1}.tutorial-type[data-v-4c377b08]{padding:2px 8px;background:#1989fa;color:#fff;border-radius:4px;font-size:12px}.tutorial-description[data-v-4c377b08]{margin:8px 0;font-size:14px;color:var(--text-secondary,#283593);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tutorial-meta[data-v-4c377b08]{display:flex;gap:15px;font-size:12px;color:var(--text-tertiary,#3949ab);margin-top:8px}.tutorial-actions[data-v-4c377b08]{display:flex;flex-direction:column;gap:8px}.empty-tutorials[data-v-4c377b08]{padding:40px 20px;text-align:center;color:var(--text-secondary,#283593);font-size:14px}.announcement-item[data-v-4c377b08]{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);padding:15px;margin-bottom:10px;border-radius:12px;display:flex;justify-content:space-between;align-items:flex-start;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .3s ease;animation:slideInUp .6s ease-out;animation-fill-mode:both}.announcement-item[data-v-4c377b08]:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(102,126,234,.2);border-color:hsla(0,0%,100%,.5)}.announcement-info[data-v-4c377b08]{flex:1}.announcement-info h4[data-v-4c377b08]{font-size:16px;font-weight:600;margin-bottom:5px;color:var(--text-primary,#1a237e);text-shadow:0 1px 2px hsla(0,0%,100%,.5)}.announcement-content[data-v-4c377b08]{font-size:14px;color:var(--text-secondary,#283593);margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.announcement-meta[data-v-4c377b08]{font-size:12px;color:var(--text-tertiary,#3949ab);display:flex;gap:15px}.popup-content[data-v-4c377b08]{padding:20px;max-height:calc(90vh - 40px);overflow-y:auto}.popup-buttons[data-v-4c377b08]{margin-top:20px;position:sticky;bottom:0;background:hsla(0,0%,100%,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:10px;z-index:10}.popup-buttons[data-v-4c377b08] .van-button{margin-bottom:10px}.popup-buttons[data-v-4c377b08] .van-button--primary{background:linear-gradient(135deg,rgba(102,126,234,.9),rgba(118,75,162,.9));color:var(--text-inverse,#fff);border-color:rgba(102,126,234,.5);font-weight:600}.popup-buttons[data-v-4c377b08] .van-button--default{background:hsla(0,0%,100%,.9);color:var(--text-primary,#1a237e);border-color:rgba(0,0,0,.1);font-weight:600}[data-v-4c377b08] .rich-text-editor{margin-top:10px}[data-v-4c377b08] .van-field__label{width:80px}body,html{background:transparent!important;margin:0;padding:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}:root{--text-primary:#1a237e;--text-secondary:#283593;--text-tertiary:#3949ab;--text-muted:#5c6bc0;--text-inverse:#fff;--text-shadow:rgba(0,0,0,.1)}.glass-effect{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px 0 rgba(31,38,135,.37)}.glass-card{background:hsla(0,0%,100%,.15);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 32px 0 rgba(31,38,135,.2);border-radius:16px}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-bg{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#4facfe);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.float-animation{animation:float 6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.pulse-animation{animation:pulse 2s ease-in-out infinite}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-in-up{animation:slideInUp .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .8s ease-in}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(102,126,234,.5),0 0 10px rgba(102,126,234,.3),0 0 15px rgba(102,126,234,.2)}50%{box-shadow:0 0 10px rgba(102,126,234,.8),0 0 20px rgba(102,126,234,.5),0 0 30px rgba(102,126,234,.3)}}.glow-effect{animation:glow 2s ease-in-out infinite}.tech-button{position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;transition:all .3s ease}.tech-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3),transparent);transition:left .5s}.tech-button:hover:before{left:100%}.tech-button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(102,126,234,.4)}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.15)}.particles-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden}.particles-bg:after,.particles-bg:before{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(102,126,234,.3) 0,transparent 70%);animation:float 20s ease-in-out infinite}.particles-bg:before{top:20%;left:10%;animation-delay:0s}.particles-bg:after{bottom:20%;right:10%;animation-delay:10s}.tech-input{background:hsla(0,0%,100%,.1);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;transition:all .3s ease}.tech-input:focus{border-color:#667eea;box-shadow:0 0 20px rgba(102,126,234,.3);background:hsla(0,0%,100%,.15)}:deep(.van-nav-bar){background:hsla(0,0%,100%,.1)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid hsla(0,0%,100%,.2);box-shadow:0 2px 10px rgba(0,0,0,.1)}:deep(.van-nav-bar__title){color:var(--text-primary)!important;font-weight:600;text-shadow:0 1px 2px var(--text-shadow)}:deep(.van-nav-bar__arrow){color:var(--text-primary)!important}:deep(.van-nav-bar__text){color:var(--text-primary)!important}:deep(.van-tabs__nav){background:hsla(0,0%,100%,.1)!important;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}:deep(.van-tab){color:var(--text-tertiary)!important}:deep(.van-tab--active){color:var(--text-primary)!important;font-weight:600}:deep(.van-tabs__line){background:linear-gradient(135deg,#667eea,#764ba2)!important;height:3px;border-radius:2px}:deep(.van-field__control){color:var(--text-primary)!important}:deep(.van-field__label){color:var(--text-secondary)!important}:deep(.van-search){background:hsla(0,0%,100%,.1)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px}:deep(.van-search__content){background:hsla(0,0%,100%,.15)!important;border-radius:12px}@media (max-width:768px){.glass-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}