*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;min-height:100vh;margin:0;padding:0;overflow-x:hidden;background-color:#f5f7fa}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;background-color:#f5f7fa}.toast-container[data-v-c78c1655]{position:fixed;top:80px;right:24px;z-index:9999;min-width:300px;max-width:500px;animation:slideIn-c78c1655 .3s ease-out;cursor:pointer}.toast-content[data-v-c78c1655]{display:flex;align-items:center;gap:12px;padding:16px 20px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;border-left:4px solid}.toast-container.success .toast-content[data-v-c78c1655]{border-left-color:#52c41a;background-color:#f6ffed}.toast-container.error .toast-content[data-v-c78c1655]{border-left-color:#ff4d4f;background-color:#fff2f0}.toast-container.warning .toast-content[data-v-c78c1655]{border-left-color:#faad14;background-color:#fffbe6}.toast-container.info .toast-content[data-v-c78c1655]{border-left-color:#1890ff;background-color:#e6f7ff}.toast-icon[data-v-c78c1655]{font-size:20px;flex-shrink:0}.toast-message[data-v-c78c1655]{flex:1;font-size:14px;color:#333;line-height:1.5;word-break:break-word}.toast-close[data-v-c78c1655]{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s;flex-shrink:0}.toast-close[data-v-c78c1655]:hover{color:#333}.toast-enter-active[data-v-c78c1655],.toast-leave-active[data-v-c78c1655]{transition:all .3s ease}.toast-enter-from[data-v-c78c1655],.toast-leave-to[data-v-c78c1655]{opacity:0;transform:translate(100%)}@keyframes slideIn-c78c1655{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.toast-container[data-v-c78c1655]{top:70px;right:12px;left:12px;min-width:auto;max-width:none}}.app-header[data-v-b3ab9e3a]{background:linear-gradient(135deg,#064e3b,#065f46,#047857);padding:12px;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:2px solid #10b981;width:100%;box-shadow:0 2px 12px #064e3b4d}.header-container[data-v-b3ab9e3a]{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-left[data-v-b3ab9e3a],.header-right[data-v-b3ab9e3a]{display:flex;align-items:center;gap:16px}.app-logo[data-v-b3ab9e3a]{height:32px;width:auto;cursor:pointer;transition:opacity .2s}.app-logo[data-v-b3ab9e3a]:hover{opacity:.9}.site-info[data-v-b3ab9e3a]{display:flex;flex-direction:column;gap:2px}.site-name[data-v-b3ab9e3a]{margin:0;font-size:18px;font-weight:700;color:#fff;letter-spacing:.5px}.site-slogan[data-v-b3ab9e3a]{margin:0;font-size:11px;color:#ffffffb3;font-style:italic;letter-spacing:.3px}.header-nav[data-v-b3ab9e3a]{display:flex;gap:4px}.nav-item[data-v-b3ab9e3a]{color:#fff;text-decoration:none;font-size:14px;font-weight:500;padding:6px 12px;border-radius:6px;transition:all .2s;display:flex;align-items:center;gap:6px}.nav-item[data-v-b3ab9e3a]:hover{background-color:#10b98133}.nav-icon[data-v-b3ab9e3a]{display:inline-block}.nav-count[data-v-b3ab9e3a]{background-color:#f59e0be6;padding:2px 8px;border-radius:10px;font-size:12px;color:#fff;margin-left:4px;font-weight:600}.search-box[data-v-b3ab9e3a]{position:relative;display:flex;align-items:center}.search-icon[data-v-b3ab9e3a]{position:absolute;left:8px;fill:#a7f3d0;pointer-events:none}.search-input[data-v-b3ab9e3a]{background-color:#ffffff1f;border:1px solid rgba(16,185,129,.4);border-radius:6px;padding:6px 12px 6px 32px;color:#fff;font-size:14px;width:300px;outline:none;transition:all .2s}.search-input[data-v-b3ab9e3a]::placeholder{color:#a7f3d0}.search-input[data-v-b3ab9e3a]:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98140}.header-icon-link svg[data-v-b3ab9e3a]{fill:#fff}.user-avatar[data-v-b3ab9e3a]{width:32px;height:32px;border-radius:50%;border:2px solid #10b981;cursor:pointer;transition:all .2s}.user-avatar[data-v-b3ab9e3a]:hover{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b4d}.user-info[data-v-b3ab9e3a]{display:flex;align-items:center;gap:8px}.username[data-v-b3ab9e3a]{color:#fff;font-size:14px;font-weight:500}.logout-btn[data-v-b3ab9e3a]{display:flex;align-items:center;justify-content:center;padding:6px;color:#fff;background-color:#f59e0b33;border:1px solid rgba(245,158,11,.4);border-radius:6px;cursor:pointer;transition:all .2s}.logout-btn svg[data-v-b3ab9e3a]{fill:#fbbf24}.logout-btn[data-v-b3ab9e3a]:hover{background-color:#f59e0b59;border-color:#f59e0b}.admin-btn[data-v-b3ab9e3a]{padding:6px 12px;color:#fff;background-color:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500}.admin-btn[data-v-b3ab9e3a]:hover{background-color:#ef444459;border-color:#ef4444}.modal-overlay[data-v-b3ab9e3a]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-b3ab9e3a .2s ease-out}@keyframes fadeIn-b3ab9e3a{0%{opacity:0}to{opacity:1}}.modal-content[data-v-b3ab9e3a]{background:#fff;border-radius:16px;width:90%;max-width:420px;box-shadow:0 8px 32px #00000040;animation:slideUp-b3ab9e3a .3s ease-out;overflow:hidden}@keyframes slideUp-b3ab9e3a{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header[data-v-b3ab9e3a]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.modal-title[data-v-b3ab9e3a]{margin:0;font-size:20px;font-weight:600;color:#065f46}.close-btn[data-v-b3ab9e3a]{background:none;border:none;font-size:32px;color:#065f46;cursor:pointer;line-height:1;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.close-btn[data-v-b3ab9e3a]:hover{background:#065f461a;transform:rotate(90deg)}.modal-body[data-v-b3ab9e3a]{padding:32px 24px;text-align:center}.modal-icon[data-v-b3ab9e3a]{margin-bottom:16px;animation:bounce-b3ab9e3a .6s ease-in-out}@keyframes bounce-b3ab9e3a{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.modal-message[data-v-b3ab9e3a]{margin:0 0 8px;font-size:18px;font-weight:500;color:#1f2937}.modal-hint[data-v-b3ab9e3a]{margin:0;font-size:14px;color:#6b7280}.modal-footer[data-v-b3ab9e3a]{display:flex;gap:12px;padding:16px 24px;background:#f9fafb;border-top:1px solid #f0f0f0}.modal-btn[data-v-b3ab9e3a]{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.modal-btn.cancel[data-v-b3ab9e3a]{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.modal-btn.cancel[data-v-b3ab9e3a]:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.modal-btn.confirm[data-v-b3ab9e3a]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.modal-btn.confirm[data-v-b3ab9e3a]:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.modal-btn.confirm[data-v-b3ab9e3a]:active{transform:translateY(0)}@media(max-width:768px){.header-nav[data-v-b3ab9e3a]{display:none}.search-input[data-v-b3ab9e3a]{width:200px}}.app-footer[data-v-605431c7]{background:linear-gradient(135deg,#064e3b,#065f46,#047857);border-top:2px solid #10b981;padding:20px 32px;color:#fff;width:100%;min-height:80px;top:0;left:0;right:0;z-index:100;box-sizing:border-box}.footer-container[data-v-605431c7]{width:100%;display:flex;align-items:center;gap:16px}.footer-logo[data-v-605431c7]{height:64px;width:auto;cursor:pointer;transition:opacity .2s}.footer-tagline[data-v-605431c7]{margin:0;font-size:1.1rem;white-space:nowrap}@media(max-width:768px){.app-footer[data-v-605431c7]{padding:32px 16px 24px}.footer-grid[data-v-605431c7]{grid-template-columns:1fr 1fr;gap:24px}.footer-bottom[data-v-605431c7]{flex-direction:column;gap:16px;text-align:center}}.app-dashboard[data-v-e5424f42]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;color:#1f2937;background-color:#ecfdf5;min-height:100vh;width:100%;display:flex;flex-direction:column}.dashboard-container[data-v-e5424f42]{display:flex;width:100%;margin:0;padding-top:60px;flex:1;overflow:hidden}.login-container[data-v-f02ffe47]{display:flex;justify-content:center;align-items:center;min-height:100vh;height:100%;background:linear-gradient(135deg,#064e3b,#065f46,#047857);padding:20px;position:fixed;inset:0;overflow-y:auto}.login-box[data-v-f02ffe47]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #064e3b4d;padding:40px;width:100%;max-width:420px;animation:slideIn-f02ffe47 .3s ease-out}@keyframes slideIn-f02ffe47{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header[data-v-f02ffe47]{text-align:center;margin-bottom:32px}.login-logo[data-v-f02ffe47]{height:80px;width:auto;margin-bottom:16px}.login-title[data-v-f02ffe47]{font-size:28px;font-weight:600;color:#064e3b;margin:0 0 8px}.login-subtitle[data-v-f02ffe47]{font-size:14px;color:#666;margin:0}.login-form[data-v-f02ffe47]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-f02ffe47]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-f02ffe47]{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#333}.form-icon[data-v-f02ffe47]{fill:#666}.form-input[data-v-f02ffe47]{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;transition:all .2s;outline:none;box-sizing:border-box}.form-input[data-v-f02ffe47]:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-input.error[data-v-f02ffe47]{border-color:#d93025}.form-input[data-v-f02ffe47]::placeholder{color:#999}.password-input-wrapper[data-v-f02ffe47]{position:relative;display:flex;align-items:center}.password-toggle[data-v-f02ffe47]{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle svg[data-v-f02ffe47]{fill:#999;transition:fill .2s}.password-toggle:hover svg[data-v-f02ffe47]{fill:#10b981}.error-message[data-v-f02ffe47]{font-size:12px;color:#d93025;margin-top:4px}.form-options[data-v-f02ffe47]{display:flex;justify-content:space-between;align-items:center}.checkbox-label[data-v-f02ffe47]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#666;-webkit-user-select:none;user-select:none}.checkbox-input[data-v-f02ffe47]{width:16px;height:16px;cursor:pointer;accent-color:#10b981}.checkbox-text[data-v-f02ffe47]{cursor:pointer}.forgot-link[data-v-f02ffe47]{font-size:13px;color:#10b981;text-decoration:none;transition:color .2s}.forgot-link[data-v-f02ffe47]:hover{color:#059669;text-decoration:underline}.global-error[data-v-f02ffe47]{display:flex;align-items:center;gap:8px;padding:12px;background-color:#d930251a;border:1px solid #d93025;border-radius:6px;color:#d93025;font-size:13px}.error-icon[data-v-f02ffe47]{fill:#d93025;flex-shrink:0}.login-button[data-v-f02ffe47]{padding:14px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b9814d}.login-button[data-v-f02ffe47]:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.login-button[data-v-f02ffe47]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-f02ffe47]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-f02ffe47]{display:flex;align-items:center;justify-content:center;gap:8px}.spinner[data-v-f02ffe47]{animation:spin-f02ffe47 1s linear infinite}@keyframes spin-f02ffe47{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer[data-v-f02ffe47]{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.login-footer p[data-v-f02ffe47]{font-size:14px;color:#666;margin:0}.register-link[data-v-f02ffe47]{color:#10b981;font-weight:500;text-decoration:none;transition:color .2s}.register-link[data-v-f02ffe47]:hover{color:#059669;text-decoration:underline}@media(max-width:480px){.login-box[data-v-f02ffe47]{padding:32px 24px}.login-title[data-v-f02ffe47]{font-size:24px}.form-options[data-v-f02ffe47]{flex-direction:column;align-items:flex-start;gap:12px}}.register-container[data-v-621c5726]{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#064e3b,#065f46,#047857);padding:20px}.register-box[data-v-621c5726]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0033664d;padding:40px;width:100%;max-width:520px;animation:slideIn-621c5726 .3s ease-out}@keyframes slideIn-621c5726{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.register-header[data-v-621c5726]{text-align:center;margin-bottom:32px}.register-logo[data-v-621c5726]{height:80px;width:auto;margin-bottom:16px}.register-title[data-v-621c5726]{font-size:28px;font-weight:600;color:#064e3b;margin:0 0 8px}.register-subtitle[data-v-621c5726]{font-size:14px;color:#666;margin:0}.register-form[data-v-621c5726]{display:flex;flex-direction:column;gap:16px}.form-group[data-v-621c5726]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-621c5726]{font-size:14px;font-weight:500;color:#333}.role-selector[data-v-621c5726]{display:flex;gap:12px}.role-option[data-v-621c5726]{flex:1;padding:10px 16px;background-color:#fff;border:2px solid #d9d9d9;border-radius:6px;cursor:pointer;transition:all .2s;text-align:center;display:flex;align-items:center;justify-content:center}.role-option[data-v-621c5726]:hover{border-color:#10b981;background-color:#10b98105}.role-option.selected[data-v-621c5726]{border-color:#10b981;background-color:#10b9810d}.role-label[data-v-621c5726]{font-size:14px;font-weight:500;color:#333}.role-option.selected .role-label[data-v-621c5726]{color:#059669;font-weight:600}.form-input[data-v-621c5726]{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;transition:all .2s;outline:none;box-sizing:border-box}.form-input[data-v-621c5726]:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-input.error[data-v-621c5726]{border-color:#d93025}.password-input-wrapper[data-v-621c5726]{position:relative;display:flex;align-items:center}.password-toggle[data-v-621c5726]{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.password-toggle svg[data-v-621c5726]{fill:#999;transition:fill .2s}.password-toggle:hover svg[data-v-621c5726]{fill:#10b981}.password-strength[data-v-621c5726]{margin-top:8px}.strength-bar[data-v-621c5726]{height:4px;background-color:#e0e0e0;border-radius:2px;overflow:hidden;margin-bottom:4px}.strength-fill[data-v-621c5726]{height:100%;transition:all .3s;border-radius:2px}.strength-info[data-v-621c5726]{display:flex;justify-content:space-between;font-size:12px}.strength-suggestion[data-v-621c5726]{color:#666}.captcha-wrapper[data-v-621c5726]{display:flex;gap:12px;align-items:center}.captcha-input[data-v-621c5726]{flex:1}.captcha-image[data-v-621c5726]{width:120px;height:48px;border:1px solid #d9d9d9;border-radius:6px;cursor:pointer;overflow:hidden;transition:all .2s;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5}.captcha-image[data-v-621c5726]:hover{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.captcha-image img[data-v-621c5726]{width:100%;height:100%;object-fit:cover}.captcha-loading[data-v-621c5726]{display:flex;align-items:center;justify-content:center;font-size:24px;color:#10b981;animation:spin-621c5726 1s linear infinite}.error-message[data-v-621c5726]{font-size:12px;color:#d93025;margin-top:4px}.global-error[data-v-621c5726],.global-success[data-v-621c5726]{display:flex;align-items:center;gap:8px;padding:12px;border-radius:6px;font-size:13px}.global-error[data-v-621c5726]{background-color:#d930251a;border:1px solid #d93025;color:#d93025}.global-success[data-v-621c5726]{background-color:#34a8531a;border:1px solid #34a853;color:#34a853}.error-icon[data-v-621c5726],.success-icon[data-v-621c5726]{flex-shrink:0}.error-icon[data-v-621c5726]{fill:#d93025}.success-icon[data-v-621c5726]{fill:#34a853}.register-button[data-v-621c5726]{padding:14px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #10b9814d;margin-top:8px}.register-button[data-v-621c5726]:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.register-button[data-v-621c5726]:active:not(:disabled){transform:translateY(0)}.register-button[data-v-621c5726]:disabled{opacity:.6;cursor:not-allowed}.loading-spinner[data-v-621c5726]{display:flex;align-items:center;justify-content:center;gap:8px}.spinner[data-v-621c5726]{animation:spin-621c5726 1s linear infinite}@keyframes spin-621c5726{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.register-footer[data-v-621c5726]{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.register-footer p[data-v-621c5726]{font-size:14px;color:#666;margin:0}.login-link[data-v-621c5726]{color:#10b981;font-weight:500;text-decoration:none;transition:color .2s}.login-link[data-v-621c5726]:hover{color:#059669;text-decoration:underline}@media(max-width:480px){.register-box[data-v-621c5726]{padding:32px 24px}.register-title[data-v-621c5726]{font-size:24px}}.app-main[data-v-c567323f]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.main-content[data-v-c567323f]{display:grid;grid-template-columns:2fr 1fr;gap:24px;min-height:100%;max-width:100%}.left-column[data-v-c567323f],.right-column[data-v-c567323f]{display:flex;flex-direction:column;gap:24px}.dashboard-section[data-v-c567323f]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;box-shadow:0 2px 4px #0033660d}.section-header[data-v-c567323f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;border-bottom:2px solid #064e3b;padding-bottom:12px}.section-title[data-v-c567323f]{font-size:16px;font-weight:600;color:#064e3b;margin:0}.header-actions[data-v-c567323f]{display:flex;align-items:center;gap:8px}.notification-actions[data-v-c567323f]{display:flex;gap:8px;align-items:center}.mark-all-read-btn[data-v-c567323f]{display:flex;align-items:center;justify-content:center;padding:4px 12px;background-color:transparent;border:1px solid #d9d9d9;border-radius:6px;color:#999;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.mark-all-read-btn[data-v-c567323f]:hover{background-color:#f5f5f5;color:#10b981;border-color:#10b981}.clear-btn[data-v-c567323f]{display:flex;align-items:center;justify-content:center;padding:4px 12px;background-color:transparent;border:1px solid #d9d9d9;border-radius:6px;color:#999;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.clear-btn[data-v-c567323f]:hover{background-color:#f5f5f5;color:#d93025;border-color:#d93025}.trending-list[data-v-c567323f]{display:flex;flex-direction:column;gap:16px}.trending-item[data-v-c567323f]{padding:12px;border:1px solid #d9d9d9;border-radius:6px;transition:all .2s;cursor:pointer}.trending-item[data-v-c567323f]:hover{border-color:#10b981;background-color:#ecfdf5;transform:translateY(-2px);box-shadow:0 4px 8px #10b9811a}.trending-header[data-v-c567323f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.trending-name[data-v-c567323f]{color:#10b981;text-decoration:none;font-size:14px;font-weight:600}.trending-name[data-v-c567323f]:hover{text-decoration:underline}.trending-stars[data-v-c567323f]{font-size:12px;color:#666}.trending-description[data-v-c567323f]{font-size:14px;color:#666;margin:0 0 8px;line-height:1.5}.trending-meta[data-v-c567323f]{display:flex;align-items:center;gap:8px}.trending-badge[data-v-c567323f]{font-size:11px;padding:2px 8px;border-radius:10px;background-color:#064e3b14;color:#064e3b}.trending-badge.hot[data-v-c567323f]{background-color:#d930251a;color:#d93025}.trending-badge.rising[data-v-c567323f]{background-color:#1880381a;color:#188038}.notification-list-container[data-v-c567323f]{max-height:500px;overflow-y:auto;position:relative;scroll-behavior:smooth}.notification-list-container[data-v-c567323f]::-webkit-scrollbar{width:6px}.notification-list-container[data-v-c567323f]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.notification-list-container[data-v-c567323f]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.notification-list-container[data-v-c567323f]::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.notification-list[data-v-c567323f]{display:flex;flex-direction:column;gap:12px;min-height:100%}.notification-item[data-v-c567323f]{display:flex;align-items:flex-start;padding:12px;border:1px solid #d9d9d9;border-radius:6px;transition:all .2s;position:relative}.notification-item[data-v-c567323f]:hover{border-color:#10b981;background-color:#ecfdf5}.notification-item.unread[data-v-c567323f]{border-color:#10b981;background-color:#10b98105}.notification-item.unread[data-v-c567323f]:hover{border-color:#10b981;background-color:#10b98114}.notification-icon[data-v-c567323f]{display:flex;justify-content:center;align-items:center;width:40px;height:40px;min-width:40px;border-radius:50%;color:#fff;font-size:20px}.notification-content[data-v-c567323f]{flex:1;margin-left:12px;overflow:hidden}.notification-header[data-v-c567323f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.notification-title[data-v-c567323f]{font-size:14px;font-weight:600;color:#064e3b}.notification-time[data-v-c567323f]{font-size:12px;color:#999;white-space:nowrap;margin-left:8px}.notification-text[data-v-c567323f]{font-size:13px;color:#333;line-height:1.5;margin:0;word-wrap:break-word}.notification-count[data-v-c567323f]{display:flex;justify-content:flex-end;margin-top:4px}.notification-count span[data-v-c567323f]{font-size:12px;color:#064e3b;font-weight:600}.unread-dot[data-v-c567323f]{width:8px;height:8px;background-color:#d93025;border-radius:50%;position:absolute;top:12px;right:12px;cursor:pointer;transition:all .2s}.unread-dot[data-v-c567323f]:hover{transform:scale(1.3);background-color:#c5221f}.notification-badge[data-v-c567323f]{font-size:12px;padding:2px 8px;border-radius:10px;background-color:#d93025;color:#fff;font-weight:600}.empty-state[data-v-c567323f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon[data-v-c567323f]{font-size:48px;margin-bottom:12px;opacity:.5}.empty-text[data-v-c567323f]{font-size:14px;color:#999;margin:0}.loading-state[data-v-c567323f]{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:#999;font-size:14px}.loading-spinner[data-v-c567323f]{display:inline-block;animation:spin-c567323f 1s linear infinite;font-size:20px;color:#10b981}.loading-indicator[data-v-c567323f]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:#999;font-size:13px}.loading-spinner[data-v-c567323f]{display:inline-block;animation:spin-c567323f 1s linear infinite;font-size:16px;color:#10b981}@keyframes spin-c567323f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-more-hint[data-v-c567323f]{display:flex;align-items:center;justify-content:center;padding:12px;color:#999;font-size:12px;text-align:center}@media(max-width:1200px){.main-content[data-v-c567323f]{grid-template-columns:2fr 1fr}}@media(max-width:768px){.main-content[data-v-c567323f]{grid-template-columns:1fr}.app-main[data-v-c567323f]{padding:16px}}.profile-sidebar[data-v-3e2b096c]{width:240px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;overflow:hidden;flex-shrink:0}.sidebar-header[data-v-3e2b096c]{padding:24px 20px;text-align:center;background:linear-gradient(135deg,#064e3b,#047857);color:#fff}.sidebar-avatar[data-v-3e2b096c]{width:80px;height:80px;border-radius:50%;border:3px solid #ffffff;margin-bottom:12px;box-shadow:0 4px 12px #0003}.sidebar-username[data-v-3e2b096c]{font-size:18px;font-weight:600;margin:0 0 4px}.sidebar-role[data-v-3e2b096c]{font-size:13px;opacity:.9;margin:0}.sidebar-nav[data-v-3e2b096c]{padding:12px 0}.nav-item[data-v-3e2b096c]{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#333;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s;border-left:3px solid transparent}.nav-item[data-v-3e2b096c]:hover{background-color:#f5f5f5;color:#064e3b}.nav-item.active[data-v-3e2b096c]{background-color:#ecfdf5;color:#064e3b;border-left-color:#064e3b;font-weight:600}.nav-icon[data-v-3e2b096c]{font-size:18px;width:24px;text-align:center}.nav-label[data-v-3e2b096c]{flex:1}@media(max-width:768px){.profile-sidebar[data-v-3e2b096c]{width:100%}.sidebar-header[data-v-3e2b096c]{padding:20px}.sidebar-avatar[data-v-3e2b096c]{width:60px;height:60px}}.app-main[data-v-fad114f5]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.repository-layout[data-v-fad114f5]{display:flex;gap:24px;max-width:1400px;margin:0 auto;min-height:calc(100vh - 120px)}.repository-main[data-v-fad114f5]{flex:1;min-width:0}.user-repository-container[data-v-fad114f5]{max-width:1200px;margin:0 auto}.page-header[data-v-fad114f5]{margin-bottom:24px}.user-info-header[data-v-fad114f5]{display:flex;align-items:center;gap:16px;flex:1}.user-avatar[data-v-fad114f5]{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #ffffff;box-shadow:0 2px 8px #0000001a}.user-details[data-v-fad114f5]{flex:1}.page-title[data-v-fad114f5]{font-size:28px;font-weight:600;color:#064e3b;margin:0 0 8px}.page-description[data-v-fad114f5]{font-size:16px;color:#666;margin:0}.loading-state[data-v-fad114f5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.loading-spinner[data-v-fad114f5]{font-size:48px;color:#10b981;animation:spin-fad114f5 1s linear infinite;margin-bottom:16px}@keyframes spin-fad114f5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-grid[data-v-fad114f5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;margin-bottom:24px}.project-card[data-v-fad114f5]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0033660d}.project-card[data-v-fad114f5]:hover{border-color:#10b981;box-shadow:0 4px 12px #064e3b26;transform:translateY(-2px)}.project-card-header[data-v-fad114f5]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.project-name[data-v-fad114f5]{font-size:16px;font-weight:600;color:#10b981}.project-description[data-v-fad114f5]{font-size:14px;color:#666;line-height:1.6;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-tags[data-v-fad114f5]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tech-tag[data-v-fad114f5]{padding:4px 10px;background-color:#10b98114;border-radius:4px;font-size:12px;color:#10b981;font-weight:500}.project-footer[data-v-fad114f5]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.project-stats[data-v-fad114f5]{display:flex;gap:12px}.stat[data-v-fad114f5]{font-size:13px;color:#666}.empty-state[data-v-fad114f5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:24px}.empty-icon[data-v-fad114f5]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-text[data-v-fad114f5]{font-size:16px;color:#999;margin-bottom:24px}.create-project-btn[data-v-fad114f5]{padding:10px 24px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.create-project-btn[data-v-fad114f5]:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.pagination-container[data-v-fad114f5]{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:24px;border-top:1px solid #e0e0e0}.pagination[data-v-fad114f5]{display:flex;align-items:center;gap:8px}.page-btn[data-v-fad114f5]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 12px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-fad114f5]:hover:not(:disabled){background-color:#10b981;border-color:#10b981;color:#fff}.page-btn[data-v-fad114f5]:disabled{background-color:#f5f5f5;color:#ccc;cursor:not-allowed}.page-info[data-v-fad114f5]{font-size:13px;color:#666}@media(max-width:768px){.user-info-header[data-v-fad114f5]{flex-direction:column;text-align:center}.project-grid[data-v-fad114f5]{grid-template-columns:1fr}}.app-main[data-v-6393fa65]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.create-project-container[data-v-6393fa65]{max-width:800px;margin:0 auto}.page-header[data-v-6393fa65]{margin-bottom:32px}.page-title[data-v-6393fa65]{font-size:28px;font-weight:600;color:#064e3b;margin:0 0 8px}.page-description[data-v-6393fa65]{font-size:16px;color:#666;margin:0}.loading-state[data-v-6393fa65]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.loading-spinner[data-v-6393fa65]{font-size:48px;color:#10b981;animation:spin-6393fa65 1s linear infinite;margin-bottom:16px}@keyframes spin-6393fa65{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-container[data-v-6393fa65]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:32px;box-shadow:0 2px 4px #0033660d}.project-form[data-v-6393fa65]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-6393fa65]{position:relative}.form-label[data-v-6393fa65]{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.required[data-v-6393fa65]{color:#ff4d4f;margin-left:2px}.optional[data-v-6393fa65]{color:#999;font-weight:400;font-size:12px}.form-input[data-v-6393fa65],.form-textarea[data-v-6393fa65],.form-select[data-v-6393fa65]{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;transition:all .2s;background-color:#fff}.form-input[data-v-6393fa65]:focus,.form-textarea[data-v-6393fa65]:focus,.form-select[data-v-6393fa65]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.form-textarea[data-v-6393fa65]{resize:vertical;font-family:inherit;line-height:1.6}.char-count[data-v-6393fa65]{position:absolute;right:12px;bottom:12px;font-size:12px;color:#999}.form-hint[data-v-6393fa65]{font-size:12px;color:#999;margin-top:8px;margin-bottom:0}.tags-grid[data-v-6393fa65]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.tag-category[data-v-6393fa65]{margin-bottom:24px}.category-title[data-v-6393fa65]{font-size:16px;font-weight:600;color:#064e3b;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #d1fae5}.show-more-btn[data-v-6393fa65]{margin-top:12px;padding:8px 20px;background-color:transparent;border:1px dashed #10b981;border-radius:6px;font-size:13px;color:#10b981;cursor:pointer;transition:all .2s;width:100%}.show-more-btn[data-v-6393fa65]:hover{background-color:#10b9810d;border-style:solid}.tag-item[data-v-6393fa65]{padding:8px 16px;background-color:#10b98114;border:2px solid transparent;border-radius:6px;font-size:13px;color:#059669;cursor:pointer;transition:all .2s;text-align:center}.tag-item[data-v-6393fa65]:hover{background-color:#10b98126;transform:translateY(-1px)}.tag-item.selected[data-v-6393fa65]{background-color:#10b981;color:#fff;border-color:#10b981;font-weight:600}.project-type-grid[data-v-6393fa65]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.type-option[data-v-6393fa65]{padding:16px;background-color:#fff;border:2px solid #d9d9d9;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.type-option[data-v-6393fa65]:hover{border-color:#10b981;background-color:#10b98105;transform:translateY(-2px);box-shadow:0 4px 8px #10b9811a}.type-option.selected[data-v-6393fa65]{border-color:#10b981;background-color:#10b9810d;box-shadow:0 4px 12px #10b98126}.type-label[data-v-6393fa65]{font-size:14px;font-weight:600;color:#333}.type-option.selected .type-label[data-v-6393fa65]{color:#059669}.form-select[data-v-6393fa65]{width:100%;padding:10px 12px;border:2px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;background-color:#fff;cursor:pointer;transition:all .2s;outline:none}.form-select[data-v-6393fa65]:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.thesis-type-options[data-v-6393fa65]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.thesis-option[data-v-6393fa65]{padding:12px 20px;background-color:#fff;border:2px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;cursor:pointer;transition:all .2s;text-align:center;font-weight:500}.thesis-option[data-v-6393fa65]:hover{border-color:#10b981;background-color:#10b98105}.thesis-option.selected[data-v-6393fa65]{background-color:#10b981;color:#fff;border-color:#10b981;font-weight:600}.visibility-options[data-v-6393fa65]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.visibility-option[data-v-6393fa65]{padding:16px;border:2px solid #d9d9d9;border-radius:6px;cursor:pointer;transition:all .2s}.visibility-option[data-v-6393fa65]:hover{border-color:#10b981;background-color:#10b98105}.visibility-option.selected[data-v-6393fa65]{border-color:#10b981;background-color:#10b9810d}.option-header[data-v-6393fa65]{margin-bottom:8px}.option-label[data-v-6393fa65]{font-size:14px;font-weight:600;color:#333}.option-description[data-v-6393fa65]{font-size:12px;color:#666;margin:0;line-height:1.5}.upload-area[data-v-6393fa65]{border:2px dashed #d9d9d9;border-radius:6px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;background-color:#fafafa}.upload-area[data-v-6393fa65]:hover{border-color:#10b981;background-color:#10b98105}.upload-icon[data-v-6393fa65]{font-size:48px;margin-bottom:12px}.upload-text[data-v-6393fa65]{font-size:14px;color:#333;margin:0 0 8px;font-weight:500}.upload-hint[data-v-6393fa65]{font-size:12px;color:#999;margin:0}.file-list[data-v-6393fa65]{margin-top:16px;border:1px solid #e8e8e8;border-radius:6px;max-height:300px;overflow-y:auto}.file-list-header[data-v-6393fa65]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f5f5f5;border-bottom:1px solid #e8e8e8;font-size:14px;font-weight:600;color:#333}.clear-btn[data-v-6393fa65]{padding:4px 12px;background-color:transparent;border:1px solid #d9d9d9;border-radius:4px;font-size:12px;color:#666;cursor:pointer;transition:all .2s}.clear-btn[data-v-6393fa65]:hover{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff}.file-item[data-v-6393fa65]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.file-item[data-v-6393fa65]:last-child{border-bottom:none}.file-item[data-v-6393fa65]:hover{background-color:#f9f9f9}.folder-item[data-v-6393fa65]{background-color:#fafafa;font-weight:500}.folder-item .file-name[data-v-6393fa65]{color:#059669}.file-info[data-v-6393fa65]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-icon[data-v-6393fa65]{font-size:20px;flex-shrink:0}.file-details[data-v-6393fa65]{display:flex;flex-direction:column;gap:4px;min-width:0}.file-name[data-v-6393fa65]{font-size:14px;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-6393fa65]{font-size:12px;color:#999}.remove-btn[data-v-6393fa65]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;color:#999;cursor:pointer;transition:all .2s;flex-shrink:0}.remove-btn[data-v-6393fa65]:hover{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff}.upload-progress[data-v-6393fa65]{margin-top:16px;padding:16px;background-color:#ecfdf5;border:1px solid #a7f3d0;border-radius:6px}.progress-bar[data-v-6393fa65]{width:100%;height:8px;background-color:#e8e8e8;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill[data-v-6393fa65]{height:100%;background:linear-gradient(90deg,#10b981,#34d399);transition:width .3s ease;border-radius:4px}.progress-text[data-v-6393fa65]{font-size:13px;color:#059669;font-weight:500}.form-actions[data-v-6393fa65]{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #f0f0f0}.btn[data-v-6393fa65]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn[data-v-6393fa65]:disabled{opacity:.6;cursor:not-allowed}.btn-cancel[data-v-6393fa65]{background-color:#f5f5f5;color:#666;border:1px solid #d9d9d9}.btn-cancel[data-v-6393fa65]:hover:not(:disabled){background-color:#e8e8e8;border-color:#999}.btn-submit[data-v-6393fa65]{background-color:#10b981;color:#fff}.btn-submit[data-v-6393fa65]:hover:not(:disabled){background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}@media(max-width:768px){.page-title[data-v-6393fa65]{font-size:24px}.form-container[data-v-6393fa65]{padding:24px}.tags-grid[data-v-6393fa65]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.visibility-options[data-v-6393fa65]{grid-template-columns:1fr}.form-actions[data-v-6393fa65]{flex-direction:column-reverse}.btn[data-v-6393fa65]{width:100%}}.app-main[data-v-d87f7508]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.project-square-container[data-v-d87f7508]{max-width:1200px;margin:0 auto}.page-header[data-v-d87f7508]{margin-bottom:24px}.header-row[data-v-d87f7508]{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.page-title[data-v-d87f7508]{font-size:28px;font-weight:600;color:#064e3b;margin-bottom:8px}.page-description[data-v-d87f7508]{font-size:16px;color:#666;margin:0}.filter-bar[data-v-d87f7508]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;margin-bottom:24px;box-shadow:0 2px 4px #0033660d}.filter-row[data-v-d87f7508]{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-item[data-v-d87f7508]{flex:1;min-width:150px}.filter-label[data-v-d87f7508]{display:block;font-size:13px;color:#666;margin-bottom:6px;font-weight:500}.filter-select[data-v-d87f7508]{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;background-color:#fff;cursor:pointer;transition:all .2s}.filter-select[data-v-d87f7508]:hover{border-color:#10b981}.filter-select[data-v-d87f7508]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.filter-actions[data-v-d87f7508]{display:flex;gap:8px;align-items:center}.reset-btn[data-v-d87f7508]{padding:8px 16px;background-color:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;color:#666;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap}.reset-btn[data-v-d87f7508]:hover{background-color:#e8e8e8;border-color:#10b981;color:#10b981}.project-grid[data-v-d87f7508]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;margin-bottom:24px}.project-card[data-v-d87f7508]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0033660d}.project-card[data-v-d87f7508]:hover{border-color:#10b981;box-shadow:0 4px 12px #064e3b26;transform:translateY(-2px)}.project-card-header[data-v-d87f7508]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.project-name[data-v-d87f7508]{font-size:16px;font-weight:600;color:#10b981}.project-description[data-v-d87f7508]{font-size:14px;color:#666;line-height:1.6;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-tags[data-v-d87f7508]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tech-tag[data-v-d87f7508]{padding:4px 10px;background-color:#10b98114;border-radius:4px;font-size:12px;color:#10b981;font-weight:500}.project-footer[data-v-d87f7508]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.project-stats[data-v-d87f7508]{display:flex;gap:12px}.stat[data-v-d87f7508]{font-size:13px;color:#666}.pagination-container[data-v-d87f7508]{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.pagination[data-v-d87f7508]{display:flex;align-items:center;gap:8px}.page-btn[data-v-d87f7508]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 12px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-d87f7508]:hover:not(:disabled){background-color:#10b981;border-color:#10b981;color:#fff}.page-btn.active[data-v-d87f7508]{background-color:#10b981;border-color:#10b981;color:#fff;font-weight:600}.page-btn[data-v-d87f7508]:disabled{background-color:#f5f5f5;color:#ccc;cursor:not-allowed;opacity:.6}.page-info[data-v-d87f7508]{font-size:13px;color:#666}.empty-state[data-v-d87f7508]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;margin-top:24px}.empty-icon[data-v-d87f7508]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-text[data-v-d87f7508]{font-size:16px;color:#999;margin:0}.loading-state[data-v-d87f7508]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;margin-top:24px}.loading-icon[data-v-d87f7508]{font-size:64px;margin-bottom:16px;animation:spin-d87f7508 1s linear infinite}@keyframes spin-d87f7508{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-d87f7508]{font-size:16px;color:#666;margin:0}@media(max-width:768px){.page-title[data-v-d87f7508]{font-size:24px}.filter-row[data-v-d87f7508]{flex-direction:column;gap:12px}.filter-item[data-v-d87f7508]{width:100%;min-width:0}.filter-actions[data-v-d87f7508]{width:100%;justify-content:flex-end}.project-grid[data-v-d87f7508]{grid-template-columns:1fr}}.tree-node[data-v-af683f87]{list-style:none}.file-item[data-v-af683f87]{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;color:#2c3e50;border-radius:6px;margin:2px 8px;cursor:default;transition:all .2s ease;position:relative}.file-item.is-directory[data-v-af683f87]{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.file-item.is-directory[data-v-af683f87]:hover{background:linear-gradient(135deg,#667eea15,#764ba215);transform:translate(2px)}.file-item.is-directory[data-v-af683f87]:active{transform:translate(1px)}.file-item[data-v-af683f87]:not(.is-directory):hover{background:linear-gradient(135deg,#f093fb10,#f5576c10);transform:translate(2px)}.file-item.is-expanded[data-v-af683f87]{background:linear-gradient(135deg,#667eea20,#764ba220);border-left:3px solid #667eea}.expand-icon[data-v-af683f87]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;color:#999;transition:transform .2s ease;flex-shrink:0}.expand-icon-placeholder[data-v-af683f87]{width:16px;flex-shrink:0}.file-icon[data-v-af683f87]{font-size:18px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.file-name[data-v-af683f87]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.file-info[data-v-af683f87]{display:flex;align-items:center;gap:12px;flex-shrink:0}.file-size[data-v-af683f87]{font-size:12px;color:#999;font-weight:400;background:#f5f5f5;padding:2px 8px;border-radius:10px}.file-time[data-v-af683f87]{font-size:12px;color:#bbb;font-weight:400}.slide-fade-enter-active[data-v-af683f87],.slide-fade-leave-active[data-v-af683f87]{transition:all .3s ease;max-height:1000px;opacity:1}.slide-fade-enter-from[data-v-af683f87],.slide-fade-leave-to[data-v-af683f87]{max-height:0;opacity:0;overflow:hidden}.file-list[data-v-af683f87]{margin:0;padding:0;list-style:none}.app-main[data-v-d40b84a5]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.project-detail-container[data-v-d40b84a5]{max-width:1000px;margin:0 auto;padding-bottom:24px}.project-header[data-v-d40b84a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.project-title-section[data-v-d40b84a5]{display:flex;align-items:center;gap:12px}.project-icon[data-v-d40b84a5]{font-size:32px}.project-title[data-v-d40b84a5]{font-size:28px;font-weight:600;color:#064e3b;margin:0}.project-status[data-v-d40b84a5]{padding:4px 12px;background-color:#e8f5e9;color:#2e7d32;border-radius:4px;font-size:12px;font-weight:500}.project-actions-bar[data-v-d40b84a5]{display:flex;gap:12px}.action-btn[data-v-d40b84a5]{padding:8px 16px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;color:#666;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.action-btn[data-v-d40b84a5]:hover{border-color:#10b981;color:#10b981}.action-btn.active[data-v-d40b84a5],.action-btn.primary[data-v-d40b84a5]{background-color:#10b981;border-color:#10b981;color:#fff}.action-btn.primary[data-v-d40b84a5]:hover{background-color:#059669}.project-info-bar[data-v-d40b84a5]{display:flex;gap:24px;padding:16px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:24px}.info-item[data-v-d40b84a5]{display:flex;flex-direction:column;gap:4px}.info-label[data-v-d40b84a5]{font-size:12px;color:#999}.info-value[data-v-d40b84a5]{font-size:14px;color:#333;display:flex;align-items:center;gap:4px}.loading-state[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.loading-spinner[data-v-d40b84a5]{font-size:48px;color:#10b981;animation:spin-d40b84a5 1s linear infinite;margin-bottom:16px}.tabs-container[data-v-d40b84a5]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px 6px 0 0;margin-bottom:0}.tabs[data-v-d40b84a5]{display:flex;gap:0}.tab-btn[data-v-d40b84a5]{padding:12px 20px;background-color:transparent;border:none;border-bottom:2px solid transparent;color:#666;font-size:14px;cursor:pointer;transition:all .2s}.tab-btn[data-v-d40b84a5]:hover{background-color:#f5f5f5}.tab-btn.active[data-v-d40b84a5]{color:#10b981;border-bottom-color:#10b981;font-weight:500}.content-section[data-v-d40b84a5]{background-color:#fff;border:1px solid #d9d9d9;border-radius:0 0 6px 6px;padding:24px;margin-bottom:24px}.readme-content[data-v-d40b84a5]{border-radius:0 0 6px 6px}.readme-text[data-v-d40b84a5]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.8;color:#333;white-space:pre-wrap;margin:0}.file-tree[data-v-d40b84a5]{background:linear-gradient(135deg,#fafbfc,#f5f7fa);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a}.file-tree h3[data-v-d40b84a5]{margin:0 0 20px;font-size:18px;color:#2c3e50;font-weight:600;display:flex;align-items:center;gap:8px}.file-tree h3[data-v-d40b84a5]:before{content:"";display:inline-block;width:20px;height:20px;margin-right:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23666'%3E%3Cpath d='M10 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.loading-files[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;padding:60px 20px;color:#999;background:linear-gradient(135deg,#f0f9ff,#e8f4ff);border-radius:8px}.loading-files .loading-spinner[data-v-d40b84a5]{font-size:40px;animation:spin-d40b84a5 1s linear infinite;margin-bottom:16px;filter:drop-shadow(0 2px 4px rgba(0,89,179,.2))}.loading-files p[data-v-d40b84a5]{font-size:14px;color:#10b981;font-weight:500}.empty-files[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;padding:80px 20px;color:#999;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:8px;border:2px dashed #d9d9d9}.empty-files .empty-icon[data-v-d40b84a5]{font-size:72px;margin-bottom:20px;opacity:.4;filter:grayscale(50%)}.empty-files p[data-v-d40b84a5]{font-size:15px;margin:6px 0;color:#666;font-weight:500}.empty-files .hint[data-v-d40b84a5]{font-size:13px;color:#bbb;font-weight:400;margin-top:8px}.file-list[data-v-d40b84a5]{list-style:none;padding:0;margin:0}.document-content[data-v-d40b84a5]{padding:32px;min-height:400px}.document-viewer[data-v-d40b84a5]{width:100%;position:relative}.document-header[data-v-d40b84a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.document-header h3[data-v-d40b84a5]{font-size:20px;font-weight:600;color:#333;margin:0}.btn-delete-document[data-v-d40b84a5]{padding:8px 16px;background-color:#ff4d4f;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-delete-document[data-v-d40b84a5]:hover{background-color:#ff7875}.btn-delete-document-float[data-v-d40b84a5]{position:absolute;top:16px;right:16px;padding:8px 16px;background-color:#ff4d4fe6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;z-index:10;box-shadow:0 2px 8px #ff4d4f4d}.btn-delete-document-float[data-v-d40b84a5]:hover{background-color:#ff7875;transform:translateY(-2px);box-shadow:0 4px 12px #ff4d4f66}.btn-delete-document-float[data-v-d40b84a5]:active{transform:translateY(0)}.pdf-preview[data-v-d40b84a5]{width:100%;height:800px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f9f9f9}.document-download[data-v-d40b84a5]{text-align:center;padding:60px 20px;background-color:#fafafa;border-radius:8px;border:2px dashed #d9d9d9}.document-download p[data-v-d40b84a5]{font-size:16px;color:#666;margin-bottom:24px}.download-link[data-v-d40b84a5]{display:inline-block;padding:12px 32px;background-color:#10b981;color:#fff;text-decoration:none;border-radius:6px;font-size:16px;font-weight:500;transition:all .2s}.download-link[data-v-d40b84a5]:hover{background-color:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.word-preview[data-v-d40b84a5]{width:100%}.rendering-loading[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.rendering-loading .loading-spinner[data-v-d40b84a5]{font-size:48px;animation:spin-d40b84a5 1s linear infinite;margin-bottom:16px}@keyframes spin-d40b84a5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rendered-content[data-v-d40b84a5]{max-height:700px;padding:32px;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0;line-height:1.8;overflow-y:auto;overflow-x:auto}.rendered-content[data-v-d40b84a5]::-webkit-scrollbar{width:8px;height:8px}.rendered-content[data-v-d40b84a5]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.rendered-content[data-v-d40b84a5]::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.rendered-content[data-v-d40b84a5]::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.rendered-content h1[data-v-d40b84a5],.rendered-content h2[data-v-d40b84a5],.rendered-content h3[data-v-d40b84a5],.rendered-content h4[data-v-d40b84a5],.rendered-content h5[data-v-d40b84a5],.rendered-content h6[data-v-d40b84a5]{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;color:#333}.rendered-content h1[data-v-d40b84a5]{font-size:2em;border-bottom:2px solid #eaecef;padding-bottom:.3em}.rendered-content h2[data-v-d40b84a5]{font-size:1.5em;border-bottom:1px solid #eaecef;padding-bottom:.3em}.rendered-content p[data-v-d40b84a5]{margin:16px 0;color:#333}.rendered-content ul[data-v-d40b84a5],.rendered-content ol[data-v-d40b84a5]{margin:16px 0;padding-left:2em}.rendered-content li[data-v-d40b84a5]{margin:8px 0}.rendered-content code[data-v-d40b84a5]{padding:.2em .4em;background-color:#f6f8fa;border-radius:3px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:85%}.rendered-content pre[data-v-d40b84a5]{padding:16px;background-color:#f6f8fa;border-radius:6px;overflow:auto;margin:16px 0}.rendered-content pre code[data-v-d40b84a5]{padding:0;background-color:transparent}.rendered-content table[data-v-d40b84a5]{border-collapse:collapse;width:100%;margin:16px 0}.rendered-content table th[data-v-d40b84a5],.rendered-content table td[data-v-d40b84a5]{padding:8px 12px;border:1px solid #dfe2e5}.rendered-content table tr[data-v-d40b84a5]:nth-child(2n){background-color:#f6f8fa}.rendered-content img[data-v-d40b84a5]{max-width:100%;height:auto;border-radius:4px}.rendered-content blockquote[data-v-d40b84a5]{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5;margin:16px 0}.rendered-content a[data-v-d40b84a5]{color:#0366d6;text-decoration:none}.rendered-content a[data-v-d40b84a5]:hover{text-decoration:underline}.render-failed[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center}.render-failed p[data-v-d40b84a5]{font-size:16px;color:#ff6b6b;margin-bottom:20px}.markdown-preview[data-v-d40b84a5]{width:100%}.markdown-body[data-v-d40b84a5]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;word-wrap:break-word}.document-upload-area[data-v-d40b84a5]{width:100%}.upload-placeholder[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;padding:80px 20px;background:linear-gradient(135deg,#fafafa,#f5f5f5);border-radius:8px;border:2px dashed #d9d9d9}.upload-placeholder .upload-icon[data-v-d40b84a5]{font-size:72px;margin-bottom:20px;opacity:.4}.upload-text[data-v-d40b84a5]{font-size:18px;color:#333;font-weight:600;margin:0 0 8px}.upload-hint[data-v-d40b84a5]{font-size:14px;color:#999;margin:0 0 32px}.file-select-wrapper[data-v-d40b84a5]{position:relative;margin-bottom:24px}.file-input[data-v-d40b84a5]{position:absolute;opacity:0;width:0;height:0}.select-file-btn[data-v-d40b84a5]{display:inline-block;padding:12px 32px;background-color:#10b981;color:#fff;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.select-file-btn[data-v-d40b84a5]:hover{background-color:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.selected-file-info[data-v-d40b84a5]{text-align:center;padding:24px;background-color:#fff;border-radius:8px;border:1px solid #e0e0e0;width:100%;max-width:400px}.selected-file-info p[data-v-d40b84a5]{font-size:14px;color:#333;margin:8px 0}.file-size[data-v-d40b84a5]{font-size:12px;color:#999}.upload-btn[data-v-d40b84a5]{margin-top:16px;padding:12px 32px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;width:100%}.upload-btn[data-v-d40b84a5]:hover:not(:disabled){background-color:#059669}.upload-btn[data-v-d40b84a5]:disabled{background-color:#d9d9d9;cursor:not-allowed}.progress-bar[data-v-d40b84a5]{margin-top:16px;width:100%;height:24px;background-color:#f0f0f0;border-radius:12px;overflow:hidden;position:relative}.progress-fill[data-v-d40b84a5]{height:100%;background:linear-gradient(90deg,#10b981,#059669);transition:width .3s ease;border-radius:12px}.progress-text[data-v-d40b84a5]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:600;color:#333}.empty-document[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;padding:80px 20px;color:#999}.empty-document .empty-icon[data-v-d40b84a5]{font-size:72px;margin-bottom:20px;opacity:.4}.empty-document p[data-v-d40b84a5]{font-size:16px;color:#666}.empty-issues[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;padding:60px 20px}.empty-icon[data-v-d40b84a5]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-issues p[data-v-d40b84a5]{font-size:16px;color:#999;margin-bottom:24px}.create-issue-btn[data-v-d40b84a5]{padding:10px 24px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.create-issue-btn[data-v-d40b84a5]:hover{background-color:#059669}.comment-input-section[data-v-d40b84a5]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e0e0e0}.comment-textarea[data-v-d40b84a5]{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px}.comment-textarea[data-v-d40b84a5]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.submit-comment-btn[data-v-d40b84a5]{padding:10px 24px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.submit-comment-btn[data-v-d40b84a5]:hover{background-color:#059669}.comments-list[data-v-d40b84a5]{display:flex;flex-direction:column;gap:16px}.comment-item[data-v-d40b84a5]{padding:16px;background-color:#f9f9f9;border-radius:6px;border-left:3px solid #10b981}.comment-header[data-v-d40b84a5]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.comment-avatar-img[data-v-d40b84a5]{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0}.comment-avatar-text[data-v-d40b84a5]{width:36px;height:36px;border-radius:50%;background-color:#10b981;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.comment-user[data-v-d40b84a5]{font-weight:600;color:#333}.comment-time[data-v-d40b84a5]{font-size:12px;color:#999}.comment-content[data-v-d40b84a5]{font-size:14px;color:#666;line-height:1.6;margin:0}.settings-content[data-v-d40b84a5]{padding:32px;min-height:400px}.settings-title[data-v-d40b84a5]{font-size:20px;font-weight:600;color:#333;margin:0 0 24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.settings-form[data-v-d40b84a5]{margin-bottom:32px}.form-group[data-v-d40b84a5]{margin-bottom:24px}.form-label[data-v-d40b84a5]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-input[data-v-d40b84a5],.form-textarea[data-v-d40b84a5],.form-select[data-v-d40b84a5]{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;font-family:inherit;transition:all .2s}.form-input[data-v-d40b84a5]:focus,.form-textarea[data-v-d40b84a5]:focus,.form-select[data-v-d40b84a5]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.form-input[data-v-d40b84a5]:disabled,.form-textarea[data-v-d40b84a5]:disabled,.form-select[data-v-d40b84a5]:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.form-textarea[data-v-d40b84a5]{resize:vertical;min-height:100px}.project-type-grid[data-v-d40b84a5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.type-option[data-v-d40b84a5]{padding:16px;background-color:#fff;border:2px solid #d9d9d9;border-radius:8px;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.type-option[data-v-d40b84a5]:hover{border-color:#10b981;background-color:#10b98105;transform:translateY(-2px);box-shadow:0 4px 8px #10b9811a}.type-option.selected[data-v-d40b84a5]{border-color:#10b981;background-color:#10b9810d;box-shadow:0 4px 12px #10b98126}.type-label[data-v-d40b84a5]{font-size:14px;font-weight:600;color:#333}.type-option.selected .type-label[data-v-d40b84a5]{color:#059669}.thesis-type-options[data-v-d40b84a5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.thesis-option[data-v-d40b84a5]{padding:12px 20px;background-color:#fff;border:2px solid #d9d9d9;border-radius:6px;font-size:14px;color:#333;cursor:pointer;transition:all .2s;text-align:center;font-weight:500}.thesis-option[data-v-d40b84a5]:hover{border-color:#10b981;background-color:#10b98105}.thesis-option.selected[data-v-d40b84a5]{background-color:#10b981;color:#fff;border-color:#10b981;font-weight:600}.tags-display[data-v-d40b84a5]{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid #e8e8e8;border-radius:6px;background-color:#fafafa}.tag-badge[data-v-d40b84a5]{padding:6px 14px;background-color:#10b98114;border-radius:16px;font-size:13px;color:#10b981;font-weight:500}.tag-category[data-v-d40b84a5]{margin-bottom:20px}.category-title-small[data-v-d40b84a5]{font-size:14px;font-weight:600;color:#064e3b;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid #e8e8e8}.tags-grid[data-v-d40b84a5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-bottom:10px}.tag-item[data-v-d40b84a5]{padding:7px 14px;background-color:#10b98114;border:2px solid transparent;border-radius:6px;font-size:13px;color:#10b981;cursor:pointer;transition:all .2s;text-align:center;-webkit-user-select:none;user-select:none}.tag-item[data-v-d40b84a5]:hover{background-color:#10b98126;transform:translateY(-1px)}.tag-item.selected[data-v-d40b84a5]{background-color:#10b981;color:#fff;border-color:#10b981;font-weight:600}.show-more-btn[data-v-d40b84a5]{margin-top:10px;padding:7px 18px;background-color:transparent;border:1px dashed #10b981;border-radius:6px;font-size:12px;color:#10b981;cursor:pointer;transition:all .2s;width:100%}.show-more-btn[data-v-d40b84a5]:hover{background-color:#10b9810d;border-style:solid}.form-hint[data-v-d40b84a5]{font-size:12px;color:#999;margin:8px 0 0}.file-upload-group[data-v-d40b84a5]{padding:16px;background-color:#f9f9f9;border:1px dashed #d9d9d9;border-radius:6px}.upload-hint[data-v-d40b84a5]{font-size:13px;color:#666;margin:0 0 12px;line-height:1.5}.file-select-area[data-v-d40b84a5]{margin-bottom:12px}.file-input[data-v-d40b84a5]{display:none}.file-input-label[data-v-d40b84a5]{display:inline-block;padding:8px 16px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;font-size:13px;color:#333;cursor:pointer;transition:all .2s}.file-input-label[data-v-d40b84a5]:hover{border-color:#10b981;color:#10b981;background-color:#ecfdf5}.selected-files-list[data-v-d40b84a5]{margin:12px 0}.files-list-title[data-v-d40b84a5]{font-size:13px;font-weight:500;color:#333;margin:0 0 8px}.files-list[data-v-d40b84a5]{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:4px;background-color:#fff}.file-item[data-v-d40b84a5]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.file-item[data-v-d40b84a5]:hover{background-color:#f9f9f9}.file-icon[data-v-d40b84a5]{font-size:16px;flex-shrink:0}.file-name[data-v-d40b84a5]{flex:1;font-size:13px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-d40b84a5]{font-size:12px;color:#999;white-space:nowrap;flex-shrink:0}.remove-file-btn[data-v-d40b84a5]{width:22px;height:22px;padding:0;background-color:transparent;border:1px solid #d9d9d9;border-radius:4px;color:#999;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.remove-file-btn[data-v-d40b84a5]:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.upload-progress[data-v-d40b84a5]{margin:12px 0}.progress-bar[data-v-d40b84a5]{width:100%;height:6px;background-color:#e0e0e0;border-radius:3px;overflow:hidden;margin-bottom:6px}.progress-fill[data-v-d40b84a5]{height:100%;background-color:#10b981;transition:width .3s ease}.progress-text[data-v-d40b84a5]{font-size:12px;color:#666;margin:0;text-align:center}.upload-actions[data-v-d40b84a5]{margin-top:12px}.upload-btn[data-v-d40b84a5]{font-size:13px;padding:8px 16px}.form-actions[data-v-d40b84a5]{display:flex;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.btn[data-v-d40b84a5]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary[data-v-d40b84a5]{background-color:#10b981;color:#fff}.btn-primary[data-v-d40b84a5]:hover{background-color:#059669}.btn-secondary[data-v-d40b84a5]{background-color:#f5f5f5;color:#666;border:1px solid #d9d9d9}.btn-secondary[data-v-d40b84a5]:hover{background-color:#e8e8e8}.btn-danger[data-v-d40b84a5]{background-color:#dc3545;color:#fff}.btn-danger[data-v-d40b84a5]:hover{background-color:#c82333}.danger-zone[data-v-d40b84a5]{margin-top:32px;padding:24px;background-color:#fff5f5;border:1px solid #ffcdd2;border-radius:6px}.danger-title[data-v-d40b84a5]{font-size:16px;font-weight:600;color:#dc3545;margin:0 0 8px}.danger-description[data-v-d40b84a5]{font-size:14px;color:#666;margin:0 0 16px}.upload-area[data-v-d40b84a5]{border:2px dashed #d9d9d9;border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#fafbfc,#f5f7fa);position:relative;overflow:hidden}.upload-area[data-v-d40b84a5]:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(0,89,179,.03) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.upload-area[data-v-d40b84a5]:hover{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#d1fae5);transform:translateY(-2px);box-shadow:0 4px 12px #10b9811a}.upload-area[data-v-d40b84a5]:hover:before{opacity:1}.upload-icon[data-v-d40b84a5]{font-size:56px;margin-bottom:16px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .3s ease}.upload-area:hover .upload-icon[data-v-d40b84a5]{transform:scale(1.1) translateY(-4px)}.upload-text[data-v-d40b84a5]{font-size:15px;color:#333;margin:0 0 8px;font-weight:600;letter-spacing:.3px}.upload-hint[data-v-d40b84a5]{font-size:13px;color:#999;margin:0;line-height:1.5}.file-list[data-v-d40b84a5]{margin-top:16px;border:1px solid #e8e8e8;border-radius:8px;max-height:300px;overflow-y:auto;background-color:#fff;box-shadow:0 2px 8px #0000000a}.file-list-header[data-v-d40b84a5]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#f5f7fa,#eef1f5);border-bottom:1px solid #e8e8e8;font-size:14px;font-weight:600;color:#333;border-radius:8px 8px 0 0}.clear-btn[data-v-d40b84a5]{padding:6px 14px;background-color:transparent;border:1px solid #d9d9d9;border-radius:6px;font-size:12px;color:#666;cursor:pointer;transition:all .2s;font-weight:500}.clear-btn[data-v-d40b84a5]:hover{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #ff4d4f4d}.file-item[data-v-d40b84a5]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #f0f0f0;transition:all .2s ease}.file-item[data-v-d40b84a5]:last-child{border-bottom:none}.file-item[data-v-d40b84a5]:hover{background-color:#f9fbfd;padding-left:20px}.folder-item[data-v-d40b84a5]{background:linear-gradient(90deg,#fafbfc,#fff);font-weight:500}.folder-item .file-name[data-v-d40b84a5]{color:#10b981;font-weight:600}.file-info[data-v-d40b84a5]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-icon[data-v-d40b84a5]{font-size:22px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.08))}.file-details[data-v-d40b84a5]{display:flex;flex-direction:column;gap:4px;min-width:0}.file-name[data-v-d40b84a5]{font-size:14px;color:#333;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-d40b84a5]{font-size:12px;color:#999;font-weight:400}.remove-btn[data-v-d40b84a5]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background-color:transparent;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;color:#999;cursor:pointer;transition:all .2s;flex-shrink:0}.remove-btn[data-v-d40b84a5]:hover{background-color:#ff4d4f;border-color:#ff4d4f;color:#fff;transform:scale(1.1);box-shadow:0 2px 6px #ff4d4f4d}.upload-progress[data-v-d40b84a5]{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f0f9ff,#e8f4ff);border:1px solid #bae7ff;border-radius:8px;box-shadow:0 2px 8px #0059b314}.progress-bar[data-v-d40b84a5]{width:100%;height:8px;background-color:#e8e8e8;border-radius:4px;overflow:hidden;margin-bottom:10px;box-shadow:inset 0 1px 3px #0000001a}.progress-fill[data-v-d40b84a5]{height:100%;background:linear-gradient(90deg,#10b981,#34d399,#6ee7b7);background-size:200% 100%;animation:progressShine-d40b84a5 2s ease-in-out infinite;transition:width .3s ease;border-radius:4px;box-shadow:0 0 10px #10b9814d}@keyframes progressShine-d40b84a5{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.progress-text[data-v-d40b84a5]{font-size:13px;color:#10b981;font-weight:600;text-align:center;letter-spacing:.3px}.overwrite-option[data-v-d40b84a5]{margin-top:16px;padding:12px;background-color:#fff8e6;border:1px solid #ffd591;border-radius:6px}.checkbox-label[data-v-d40b84a5]{display:flex;align-items:flex-start;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-d40b84a5]{margin-top:2px;width:16px;height:16px;cursor:pointer}.checkbox-label input[type=checkbox][data-v-d40b84a5]:disabled{cursor:not-allowed;opacity:.5}.checkbox-text[data-v-d40b84a5]{font-size:14px;color:#333;line-height:1.5}.file-count[data-v-d40b84a5]{color:#fa8c16;font-weight:500}.hint-text[data-v-d40b84a5]{color:#52c41a;font-weight:500}.option-hint[data-v-d40b84a5]{margin:8px 0 0 24px;font-size:12px;color:#999;line-height:1.5}.modal-overlay[data-v-d40b84a5]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-d40b84a5]{background-color:#fff;border-radius:8px;padding:24px;max-width:500px;width:90%;box-shadow:0 4px 20px #00000026}.modal-title[data-v-d40b84a5]{font-size:18px;font-weight:600;color:#333;margin:0 0 12px}.modal-description[data-v-d40b84a5]{font-size:14px;color:#666;margin:0 0 24px;line-height:1.6}.modal-actions[data-v-d40b84a5]{display:flex;gap:12px;justify-content:flex-end}.empty-state[data-v-d40b84a5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.empty-state .empty-icon[data-v-d40b84a5]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state .empty-text[data-v-d40b84a5]{font-size:16px;color:#999;margin:0}@media(max-width:768px){.project-header[data-v-d40b84a5]{flex-direction:column;gap:16px;align-items:flex-start}.project-info-bar[data-v-d40b84a5]{flex-wrap:wrap;gap:16px}.tabs[data-v-d40b84a5]{overflow-x:auto}}.profile-container[data-v-e1334821]{width:100%;max-width:100%;min-height:100%;padding:24px;background-color:#f5f7fa}.profile-layout[data-v-e1334821]{display:flex;gap:24px;width:100%}.profile-sidebar[data-v-e1334821]{width:240px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;overflow:hidden;flex-shrink:0}.sidebar-header[data-v-e1334821]{padding:24px 20px;text-align:center;background:linear-gradient(135deg,#064e3b,#047857);color:#fff}.sidebar-avatar[data-v-e1334821]{width:80px;height:80px;border-radius:50%;border:3px solid #ffffff;margin-bottom:12px;box-shadow:0 4px 12px #0003}.sidebar-username[data-v-e1334821]{font-size:18px;font-weight:600;margin:0 0 4px}.sidebar-role[data-v-e1334821]{font-size:13px;opacity:.9;margin:0}.sidebar-nav[data-v-e1334821]{padding:12px 0}.nav-item[data-v-e1334821]{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#333;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s;border-left:3px solid transparent}.nav-item[data-v-e1334821]:hover{background-color:#f5f5f5;color:#064e3b}.nav-item.active[data-v-e1334821]{background-color:#ecfdf5;color:#064e3b;border-left-color:#064e3b;font-weight:600}.nav-icon[data-v-e1334821]{font-size:18px;width:24px;text-align:center}.nav-label[data-v-e1334821]{flex:1}.profile-main[data-v-e1334821]{flex:1;min-width:0}.profile-card[data-v-e1334821]{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:box-shadow .3s ease}.profile-card[data-v-e1334821]:hover{box-shadow:0 8px 30px #0000001f}.profile-header[data-v-e1334821]{position:relative;height:220px;overflow:hidden}.header-bg[data-v-e1334821]{position:absolute;inset:0;background:linear-gradient(135deg,#064e3b,#047857,#10b981);background-size:200% 200%;animation:gradientShift-e1334821 8s ease infinite}@keyframes gradientShift-e1334821{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.header-content[data-v-e1334821]{position:relative;height:100%;display:flex;align-items:flex-end;padding:0 48px 24px;gap:24px}.avatar-wrapper[data-v-e1334821]{position:relative;display:inline-block}.profile-avatar[data-v-e1334821]{width:130px;height:130px;border-radius:50%;border:5px solid #ffffff;box-shadow:0 8px 24px #00000040;background:#fff;transition:transform .3s ease,box-shadow .3s ease}.profile-avatar[data-v-e1334821]:hover{transform:scale(1.05);box-shadow:0 12px 32px #0000004d}.avatar-upload-btn[data-v-e1334821]{position:absolute;bottom:4px;right:4px;width:40px;height:40px;background:linear-gradient(135deg,#064e3b,#047857);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;box-shadow:0 4px 12px #0000004d;transition:all .3s ease;border:3px solid #ffffff}.avatar-upload-btn[data-v-e1334821]:hover{background:linear-gradient(135deg,#047857,#10b981);transform:scale(1.15) rotate(15deg);box-shadow:0 6px 16px #0006}.profile-basic[data-v-e1334821]{color:#fff;padding-bottom:10px}.profile-name[data-v-e1334821]{font-size:32px;font-weight:700;margin:0 0 8px;text-shadow:0 2px 8px rgba(0,0,0,.2);letter-spacing:-.5px}.profile-role[data-v-e1334821]{font-size:14px;opacity:.9;margin:0 0 4px}.profile-id[data-v-e1334821]{font-size:12px;opacity:.8;margin:0;font-family:Courier New,monospace;background:#fff3;padding:2px 8px;border-radius:4px;display:inline-block}.profile-body[data-v-e1334821]{padding:40px 48px}.section-title[data-v-e1334821]{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.section-title span[data-v-e1334821]{font-size:22px;font-weight:700;color:#064e3b;letter-spacing:-.3px}.edit-btn[data-v-e1334821],.save-btn[data-v-e1334821],.cancel-btn[data-v-e1334821]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.edit-btn[data-v-e1334821]{background:linear-gradient(135deg,#064e3b,#047857);color:#fff}.edit-btn[data-v-e1334821]:hover{background:linear-gradient(135deg,#047857,#10b981);transform:translateY(-2px);box-shadow:0 4px 12px #064e3b4d}.save-btn[data-v-e1334821]{background:linear-gradient(135deg,#52c41a,#73d13d);color:#fff;margin-left:8px}.save-btn[data-v-e1334821]:hover{background:linear-gradient(135deg,#73d13d,#95de64);transform:translateY(-2px);box-shadow:0 4px 12px #52c41a4d}.cancel-btn[data-v-e1334821]{background:#f5f5f5;color:#666}.cancel-btn[data-v-e1334821]:hover{background:#e8e8e8;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.edit-actions[data-v-e1334821]{display:flex;gap:8px}.info-grid[data-v-e1334821]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.info-item[data-v-e1334821]{display:flex;flex-direction:column;gap:8px}.info-item.full-width[data-v-e1334821]{grid-column:1 / -1}.info-item label[data-v-e1334821]{font-size:14px;color:#666;font-weight:600;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.info-value[data-v-e1334821]{font-size:16px;color:#333;padding:10px 0;line-height:1.6}.bio-text[data-v-e1334821]{line-height:1.6;white-space:pre-wrap}.info-input[data-v-e1334821],.info-select[data-v-e1334821],.info-textarea[data-v-e1334821]{padding:10px 14px;border:2px solid #e8e8e8;border-radius:8px;font-size:15px;transition:all .3s ease;background-color:#fafafa}.info-input[data-v-e1334821]:focus,.info-select[data-v-e1334821]:focus,.info-textarea[data-v-e1334821]:focus{border-color:#064e3b;outline:none;background-color:#fff;box-shadow:0 0 0 4px #064e3b1a;transform:translateY(-1px)}.info-textarea[data-v-e1334821]{resize:vertical;font-family:inherit}.action-section[data-v-e1334821]{margin-top:40px;padding-top:32px;border-top:2px solid #f0f0f0;display:flex;gap:16px}.action-btn[data-v-e1334821]{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 8px #0000001a}.password-btn[data-v-e1334821]{background:linear-gradient(135deg,#fff7e6,#ffe7ba);color:#fa8c16;border:2px solid #ffd591}.password-btn[data-v-e1334821]:hover{background:linear-gradient(135deg,#ffe7ba,#ffd591);transform:translateY(-2px);box-shadow:0 6px 16px #fa8c1640}.modal-overlay[data-v-e1334821]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-e1334821]{background:#fff;border-radius:12px;width:90%;max-width:450px;box-shadow:0 4px 20px #0003}.modal-header[data-v-e1334821]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #f0f0f0}.modal-header h2[data-v-e1334821]{margin:0;font-size:18px;color:#333}.close-btn[data-v-e1334821]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-btn[data-v-e1334821]:hover{background:#f0f0f0;color:#333}.modal-body[data-v-e1334821]{padding:24px}.form-group[data-v-e1334821]{margin-bottom:16px}.form-group label[data-v-e1334821]{display:block;margin-bottom:8px;font-size:14px;color:#666;font-weight:500}.form-input[data-v-e1334821]{width:100%;padding:10px 12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s}.form-input[data-v-e1334821]:focus{border-color:#064e3b;outline:none;box-shadow:0 0 0 2px #064e3b1a}.modal-footer[data-v-e1334821]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #f0f0f0}.modal-btn[data-v-e1334821]{padding:8px 20px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.modal-btn.cancel[data-v-e1334821]{background:#f0f0f0;color:#666}.modal-btn.cancel[data-v-e1334821]:hover{background:#e0e0e0}.modal-btn.confirm[data-v-e1334821]{background:#064e3b;color:#fff}.modal-btn.confirm[data-v-e1334821]:hover{background:#047857}@media(max-width:768px){.profile-container[data-v-e1334821]{padding:20px 10px}.header-content[data-v-e1334821]{padding:0 20px 15px;flex-direction:column;align-items:center;text-align:center}.profile-avatar[data-v-e1334821]{width:100px;height:100px}.profile-name[data-v-e1334821]{font-size:22px}.profile-body[data-v-e1334821]{padding:20px}.info-grid[data-v-e1334821]{grid-template-columns:1fr}.action-section[data-v-e1334821]{flex-direction:column}.action-btn[data-v-e1334821]{width:100%;justify-content:center}}.analytics-container[data-v-727caccb]{max-width:1200px;margin:0 auto;padding:40px 20px}.page-title[data-v-727caccb]{font-size:24px;color:#333;margin:0 0 24px;font-weight:600}.stats-grid[data-v-727caccb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card[data-v-727caccb]{background:#fff;border-radius:12px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #00000014;transition:all .2s}.stat-card[data-v-727caccb]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-icon[data-v-727caccb]{font-size:40px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#f5f7fa;border-radius:12px}.stat-info[data-v-727caccb]{flex:1}.stat-value[data-v-727caccb]{font-size:28px;font-weight:600;color:#064e3b;line-height:1;margin-bottom:8px}.stat-label[data-v-727caccb]{font-size:14px;color:#666}.charts-section[data-v-727caccb]{background:#fff;border-radius:12px;padding:40px;box-shadow:0 2px 8px #00000014}.chart-placeholder[data-v-727caccb]{text-align:center;padding:60px 20px;color:#999}.chart-placeholder p[data-v-727caccb]{margin:8px 0;font-size:16px}.chart-placeholder .hint[data-v-727caccb]{font-size:14px;color:#bbb}@media(max-width:768px){.analytics-container[data-v-727caccb]{padding:20px 10px}.stats-grid[data-v-727caccb]{grid-template-columns:1fr}.stat-card[data-v-727caccb]{padding:20px}.stat-icon[data-v-727caccb]{width:50px;height:50px;font-size:32px}.stat-value[data-v-727caccb]{font-size:24px}}.settings-container[data-v-36cc79ce]{min-height:calc(100vh - 60px);background:#f5f7fa;width:100%}.settings-layout[data-v-36cc79ce]{display:flex;width:100%;min-height:calc(100vh - 60px)}.settings-sidebar[data-v-36cc79ce]{width:240px;background:linear-gradient(135deg,#064e3b,#065f46,#047857);border-right:none;padding:24px 0;top:0;overflow-y:auto;box-shadow:2px 0 8px #064e3b33}.sidebar-header[data-v-36cc79ce]{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.2)}.sidebar-header h2[data-v-36cc79ce]{margin:0;font-size:20px;color:#fff;font-weight:600}.sidebar-nav[data-v-36cc79ce]{padding:12px 0}.nav-item[data-v-36cc79ce]{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#ffffffd9;text-decoration:none;font-size:14px;transition:all .2s;border-left:3px solid transparent}.nav-item[data-v-36cc79ce]:hover{background:#10b98133;color:#fff}.nav-item.active[data-v-36cc79ce]{background:#10b9814d;color:#fff;border-left-color:#10b981;font-weight:500}.nav-icon[data-v-36cc79ce]{font-size:18px;display:inline-block}.nav-label[data-v-36cc79ce]{flex:1}.settings-content[data-v-36cc79ce]{flex:1;padding:0;overflow-y:auto;background:#fff}@media(max-width:768px){.settings-layout[data-v-36cc79ce]{flex-direction:column}.settings-sidebar[data-v-36cc79ce]{width:100%;height:auto;position:static;border-right:none;border-bottom:none}.sidebar-nav[data-v-36cc79ce]{display:flex;overflow-x:auto;padding:8px}.nav-item[data-v-36cc79ce]{white-space:nowrap;border-left:none;border-bottom:3px solid transparent}.nav-item.active[data-v-36cc79ce]{border-left:none;border-bottom-color:#10b981}.settings-content[data-v-36cc79ce]{padding:0}}.favorites-page[data-v-e18c9f5d]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.favorites-layout[data-v-e18c9f5d]{display:flex;gap:24px;max-width:1400px;margin:0 auto;min-height:calc(100vh - 120px)}.favorites-main[data-v-e18c9f5d]{flex:1;min-width:0}.container[data-v-e18c9f5d]{max-width:1200px;margin:0 auto}.page-header[data-v-e18c9f5d]{margin-bottom:24px}.page-header h1[data-v-e18c9f5d]{font-size:28px;font-weight:600;color:#064e3b;margin-bottom:8px}.subtitle[data-v-e18c9f5d]{font-size:16px;color:#666;margin:0}.loading-state[data-v-e18c9f5d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.spinner[data-v-e18c9f5d]{font-size:48px;color:#10b981;animation:spin-e18c9f5d 1s linear infinite;margin-bottom:16px}@keyframes spin-e18c9f5d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-e18c9f5d]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.empty-icon[data-v-e18c9f5d]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3[data-v-e18c9f5d]{font-size:16px;color:#999;margin-bottom:24px}.empty-state p[data-v-e18c9f5d]{font-size:14px;color:#999;margin-bottom:24px}.btn-primary[data-v-e18c9f5d]{padding:10px 24px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap}.btn-primary[data-v-e18c9f5d]:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.project-grid[data-v-e18c9f5d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;margin-bottom:24px}.project-card[data-v-e18c9f5d]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0033660d}.project-card[data-v-e18c9f5d]:hover{border-color:#10b981;box-shadow:0 4px 12px #064e3b26;transform:translateY(-2px)}.project-card-header[data-v-e18c9f5d]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.project-name[data-v-e18c9f5d]{font-size:16px;font-weight:600;color:#10b981}.project-description[data-v-e18c9f5d]{font-size:14px;color:#666;line-height:1.6;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-tags[data-v-e18c9f5d]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tech-tag[data-v-e18c9f5d]{padding:4px 10px;background-color:#10b98114;border-radius:4px;font-size:12px;color:#10b981;font-weight:500}.project-footer[data-v-e18c9f5d]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.project-stats[data-v-e18c9f5d]{display:flex;gap:12px}.stat[data-v-e18c9f5d]{font-size:13px;color:#666}.pagination-container[data-v-e18c9f5d]{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:24px;border-top:1px solid #e0e0e0}.pagination[data-v-e18c9f5d]{display:flex;align-items:center;gap:8px}.page-btn[data-v-e18c9f5d]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 12px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-e18c9f5d]:hover:not(:disabled){background-color:#10b981;border-color:#10b981;color:#fff}.page-btn[data-v-e18c9f5d]:disabled{background-color:#f5f5f5;color:#ccc;cursor:not-allowed}.page-btn.active[data-v-e18c9f5d]{background-color:#10b981;border-color:#10b981;color:#fff}.page-info[data-v-e18c9f5d]{font-size:13px;color:#666}@media(max-width:768px){.page-header h1[data-v-e18c9f5d]{font-size:24px}.project-grid[data-v-e18c9f5d]{grid-template-columns:1fr}}.search-result-page[data-v-39c28128]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.container[data-v-39c28128]{max-width:1200px;margin:0 auto}.page-header[data-v-39c28128]{margin-bottom:24px}.page-header h1[data-v-39c28128]{font-size:28px;font-weight:600;color:#064e3b;margin-bottom:8px}.subtitle[data-v-39c28128]{font-size:16px;color:#666;margin:0}.loading-state[data-v-39c28128]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.spinner[data-v-39c28128]{font-size:48px;color:#10b981;animation:spin-39c28128 1s linear infinite;margin-bottom:16px}@keyframes spin-39c28128{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-39c28128]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px}.empty-icon[data-v-39c28128]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3[data-v-39c28128]{font-size:16px;color:#999;margin-bottom:24px}.empty-state p[data-v-39c28128]{font-size:14px;color:#999;margin-bottom:24px}.btn-primary[data-v-39c28128]{padding:10px 24px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap}.btn-primary[data-v-39c28128]:hover{background-color:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.project-grid[data-v-39c28128]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px;margin-bottom:24px}.project-card[data-v-39c28128]{background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0033660d}.project-card[data-v-39c28128]:hover{border-color:#10b981;box-shadow:0 4px 12px #064e3b26;transform:translateY(-2px)}.project-card-header[data-v-39c28128]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.project-name[data-v-39c28128]{font-size:16px;font-weight:600;color:#10b981}.project-description[data-v-39c28128]{font-size:14px;color:#666;line-height:1.6;margin-bottom:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.project-tags[data-v-39c28128]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tech-tag[data-v-39c28128]{padding:4px 10px;background-color:#10b98114;border-radius:4px;font-size:12px;color:#10b981;font-weight:500}.project-footer[data-v-39c28128]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.project-stats[data-v-39c28128]{display:flex;gap:12px}.stat[data-v-39c28128]{font-size:13px;color:#666}.pagination-container[data-v-39c28128]{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:24px;border-top:1px solid #e0e0e0}.pagination[data-v-39c28128]{display:flex;align-items:center;gap:8px}.page-btn[data-v-39c28128]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 12px;background-color:#fff;border:1px solid #d9d9d9;border-radius:6px;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-39c28128]:hover:not(:disabled){background-color:#10b981;border-color:#10b981;color:#fff}.page-btn[data-v-39c28128]:disabled{background-color:#f5f5f5;color:#ccc;cursor:not-allowed}.page-btn.active[data-v-39c28128]{background-color:#10b981;border-color:#10b981;color:#fff}.page-info[data-v-39c28128]{font-size:13px;color:#666}@media(max-width:768px){.page-header h1[data-v-39c28128]{font-size:24px}.project-grid[data-v-39c28128]{grid-template-columns:1fr}}.class-management-page[data-v-ba75a8b3]{flex:1;padding:24px;overflow-y:auto;min-height:calc(100vh - 200px);width:100%;background-color:#f5f7fa}.class-management-layout[data-v-ba75a8b3]{display:flex;gap:24px;max-width:1600px;margin:0 auto;min-height:calc(100vh - 120px)}.class-management-main[data-v-ba75a8b3]{flex:1;min-width:0}.container[data-v-ba75a8b3]{width:100%}.page-header[data-v-ba75a8b3]{margin-bottom:24px}.page-header h1[data-v-ba75a8b3]{font-size:28px;font-weight:700;color:#064e3b;margin:0 0 8px}.subtitle[data-v-ba75a8b3]{font-size:16px;color:#666;margin:0}.filter-bar[data-v-ba75a8b3]{background:#fff;border-radius:12px;padding:20px 24px;margin-bottom:24px;box-shadow:0 2px 12px #00000014}.filter-row[data-v-ba75a8b3]{display:flex;gap:16px;align-items:flex-end;margin-bottom:16px}.filter-item[data-v-ba75a8b3]{flex:1}.filter-label[data-v-ba75a8b3]{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.filter-input[data-v-ba75a8b3],.filter-select[data-v-ba75a8b3]{width:100%;padding:10px 14px;border:2px solid #e8e8e8;border-radius:8px;font-size:14px;transition:all .3s ease;background-color:#fafafa}.filter-input[data-v-ba75a8b3]:focus,.filter-select[data-v-ba75a8b3]:focus{border-color:#064e3b;outline:none;background-color:#fff;box-shadow:0 0 0 4px #064e3b1a}.filter-actions[data-v-ba75a8b3]{display:flex;gap:8px}.search-btn[data-v-ba75a8b3]{padding:10px 24px;background:linear-gradient(135deg,#064e3b,#047857);border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #064e3b4d}.search-btn[data-v-ba75a8b3]:hover{background:linear-gradient(135deg,#047857,#059669);transform:translateY(-2px);box-shadow:0 4px 12px #064e3b66}.search-btn[data-v-ba75a8b3]:active{transform:translateY(0)}.reset-btn[data-v-ba75a8b3]{padding:10px 20px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);border:2px solid #d9d9d9;border-radius:8px;font-size:14px;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease}.reset-btn[data-v-ba75a8b3]:hover{background:linear-gradient(135deg,#e8e8e8,#d9d9d9);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.batch-download-btn[data-v-ba75a8b3]{padding:10px 24px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #f59e0b4d}.batch-download-btn[data-v-ba75a8b3]:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.batch-download-btn[data-v-ba75a8b3]:active{transform:translateY(0)}.filter-summary[data-v-ba75a8b3]{font-size:14px;color:#666;padding-top:12px;border-top:1px solid #f0f0f0}.filter-summary strong[data-v-ba75a8b3]{color:#064e3b;font-size:16px}.loading-state[data-v-ba75a8b3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.spinner[data-v-ba75a8b3]{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #064e3b;border-radius:50%;animation:spin-ba75a8b3 1s linear infinite;margin-bottom:16px}@keyframes spin-ba75a8b3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state[data-v-ba75a8b3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.empty-icon[data-v-ba75a8b3]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3[data-v-ba75a8b3]{font-size:20px;color:#333;margin:0 0 8px}.empty-state p[data-v-ba75a8b3]{font-size:14px;color:#999;margin:0}.initial-state[data-v-ba75a8b3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background-color:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.initial-state h3[data-v-ba75a8b3]{font-size:20px;color:#333;margin:0 0 8px}.initial-state p[data-v-ba75a8b3]{font-size:14px;color:#999;margin:0}.project-grid[data-v-ba75a8b3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:24px}.project-card[data-v-ba75a8b3]{background:#fff;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 12px #00000014;border:2px solid transparent}.project-card[data-v-ba75a8b3]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #064e3b26;border-color:#064e3b}.project-card-header[data-v-ba75a8b3]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.project-name[data-v-ba75a8b3]{font-size:18px;font-weight:700;color:#064e3b;flex:1}.project-type-badge[data-v-ba75a8b3]{padding:4px 10px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#064e3b;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.project-description[data-v-ba75a8b3]{font-size:14px;color:#666;line-height:1.6;margin-bottom:16px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.project-info[data-v-ba75a8b3]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.info-item[data-v-ba75a8b3]{display:flex;align-items:center;gap:8px;font-size:13px}.info-label[data-v-ba75a8b3]{color:#999;min-width:60px}.info-value[data-v-ba75a8b3]{color:#333;font-weight:500}.project-tags[data-v-ba75a8b3]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tech-tag[data-v-ba75a8b3]{padding:4px 10px;background-color:#064e3b14;border-radius:6px;font-size:12px;color:#064e3b;font-weight:500}.project-footer[data-v-ba75a8b3]{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f0f0}.project-stats[data-v-ba75a8b3]{display:flex;gap:16px}.stat[data-v-ba75a8b3]{font-size:13px;color:#666}.pagination-container[data-v-ba75a8b3]{display:flex;flex-direction:column;align-items:center;gap:16px;padding-top:24px;border-top:1px solid #e0e0e0}.pagination[data-v-ba75a8b3]{display:flex;align-items:center;gap:8px}.page-btn[data-v-ba75a8b3]{min-width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0 12px;background-color:#fff;border:2px solid #d9d9d9;border-radius:8px;color:#333;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.page-btn[data-v-ba75a8b3]:hover:not(:disabled){background-color:#064e3b;border-color:#064e3b;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #064e3b40}.page-btn[data-v-ba75a8b3]:disabled{background-color:#f5f5f5;color:#ccc;cursor:not-allowed}.page-btn.active[data-v-ba75a8b3]{background-color:#064e3b;border-color:#064e3b;color:#fff}.page-info[data-v-ba75a8b3]{font-size:14px;color:#666}@media(max-width:768px){.class-management-layout[data-v-ba75a8b3],.filter-row[data-v-ba75a8b3]{flex-direction:column}.project-grid[data-v-ba75a8b3]{grid-template-columns:1fr}.page-header h1[data-v-ba75a8b3]{font-size:24px}}.management-container[data-v-35171761]{width:100%;max-width:1400px;min-height:calc(100vh - 144px);background-color:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0033660d;display:flex;flex-direction:column}.section-header[data-v-35171761]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.section-title[data-v-35171761]{font-size:24px;font-weight:600;color:#064e3b;margin:0}.search-box[data-v-35171761]{display:flex;gap:12px}.search-input[data-v-35171761]{padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;width:300px;transition:all .2s}.search-input[data-v-35171761]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.search-btn[data-v-35171761]{padding:8px 20px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.search-btn[data-v-35171761]:hover{background-color:#059669}.table-wrapper[data-v-35171761]{overflow-x:auto}.data-table[data-v-35171761]{width:100%;border-collapse:collapse}.data-table thead[data-v-35171761]{background-color:#f5f7fa}.data-table th[data-v-35171761]{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table td[data-v-35171761]{padding:12px 16px;font-size:14px;color:#666;border-bottom:1px solid #f0f0f0}.data-table tbody tr[data-v-35171761]:hover{background-color:#f9fafb}.role-badge[data-v-35171761]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.role-badge.user[data-v-35171761]{background-color:#3b82f61a;color:#3b82f6}.role-badge.teacher[data-v-35171761]{background-color:#10b9811a;color:#10b981}.role-badge.admin[data-v-35171761]{background-color:#ef44441a;color:#ef4444}.status-badge[data-v-35171761]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active[data-v-35171761]{background-color:#10b9811a;color:#10b981}.status-badge.banned[data-v-35171761]{background-color:#ef44441a;color:#ef4444}.action-buttons[data-v-35171761]{display:flex;gap:8px}.action-btn[data-v-35171761]{padding:6px 10px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;background-color:transparent}.action-btn[data-v-35171761]:hover{transform:scale(1.1)}.ban-btn[data-v-35171761]:hover{background-color:#ef44441a}.unban-btn[data-v-35171761]:hover{background-color:#10b9811a}.delete-btn[data-v-35171761]:hover{background-color:#ef44441a}.edit-btn[data-v-35171761]:hover{background-color:#3b82f61a}.modal-overlay[data-v-35171761]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-35171761]{background-color:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header[data-v-35171761]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-title[data-v-35171761]{font-size:20px;font-weight:600;color:#064e3b;margin:0}.close-btn[data-v-35171761]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;transition:color .2s;line-height:1}.close-btn[data-v-35171761]:hover{color:#333}.modal-body[data-v-35171761]{padding:24px}.form-group[data-v-35171761]{margin-bottom:20px}.form-label[data-v-35171761]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-input[data-v-35171761],.form-select[data-v-35171761]{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s}.form-input[data-v-35171761]:focus,.form-select[data-v-35171761]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.modal-footer[data-v-35171761]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.btn[data-v-35171761]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-35171761]{background-color:#f5f5f5;color:#666}.btn-cancel[data-v-35171761]:hover{background-color:#e0e0e0}.btn-save[data-v-35171761]{background-color:#10b981;color:#fff}.btn-save[data-v-35171761]:hover{background-color:#059669}.loading-state[data-v-35171761],.empty-state[data-v-35171761]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.loading-icon[data-v-35171761],.empty-icon[data-v-35171761]{font-size:48px;margin-bottom:16px}.loading-icon[data-v-35171761]{animation:spin-35171761 1s linear infinite}@keyframes spin-35171761{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination[data-v-35171761]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px 0}.pagination-btn[data-v-35171761]{padding:8px 16px;background-color:#fff;color:#10b981;border:1px solid #10b981;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.pagination-btn[data-v-35171761]:hover:not(:disabled){background-color:#10b981;color:#fff}.pagination-btn[data-v-35171761]:disabled{opacity:.5;cursor:not-allowed}.pagination-info[data-v-35171761]{font-size:14px;color:#666}.management-container[data-v-f4650a95]{width:100%;max-width:1400px;min-height:calc(100vh - 144px);background-color:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0033660d;display:flex;flex-direction:column}.section-title[data-v-f4650a95]{font-size:24px;font-weight:600;color:#064e3b;margin:0}.section-header[data-v-f4650a95]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.search-box[data-v-f4650a95]{display:flex;gap:12px}.search-input[data-v-f4650a95]{padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;width:300px;transition:all .2s}.search-input[data-v-f4650a95]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.search-btn[data-v-f4650a95]{padding:8px 20px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.search-btn[data-v-f4650a95]:hover{background-color:#059669}.table-wrapper[data-v-f4650a95]{overflow-x:auto}.data-table[data-v-f4650a95]{width:100%;border-collapse:collapse}.data-table thead[data-v-f4650a95]{background-color:#f5f7fa}.data-table th[data-v-f4650a95]{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table td[data-v-f4650a95]{padding:12px 16px;font-size:14px;color:#666;border-bottom:1px solid #f0f0f0}.data-table tbody tr[data-v-f4650a95]:hover{background-color:#f9fafb}.action-btn[data-v-f4650a95]{padding:6px 10px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;background-color:transparent}.action-buttons[data-v-f4650a95]{display:flex;gap:8px}.action-btn[data-v-f4650a95]:hover{transform:scale(1.1)}.edit-btn[data-v-f4650a95]:hover{background-color:#3b82f61a}.delete-btn[data-v-f4650a95]:hover{background-color:#ef44441a}.modal-overlay[data-v-f4650a95]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f4650a95]{background-color:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header[data-v-f4650a95]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-title[data-v-f4650a95]{font-size:20px;font-weight:600;color:#064e3b;margin:0}.close-btn[data-v-f4650a95]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;transition:color .2s;line-height:1}.close-btn[data-v-f4650a95]:hover{color:#333}.modal-body[data-v-f4650a95]{padding:24px}.form-group[data-v-f4650a95]{margin-bottom:20px}.form-label[data-v-f4650a95]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-input[data-v-f4650a95],.form-select[data-v-f4650a95]{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s}.form-textarea[data-v-f4650a95]{resize:vertical;min-height:80px;font-family:inherit}.form-input[data-v-f4650a95]:focus,.form-select[data-v-f4650a95]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.modal-footer[data-v-f4650a95]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.btn[data-v-f4650a95]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-f4650a95]{background-color:#f5f5f5;color:#666}.btn-cancel[data-v-f4650a95]:hover{background-color:#e0e0e0}.btn-save[data-v-f4650a95]{background-color:#10b981;color:#fff}.btn-save[data-v-f4650a95]:hover{background-color:#059669}.tag-selector[data-v-f4650a95]{display:flex;flex-wrap:wrap;gap:12px;padding:12px;border:1px solid #d9d9d9;border-radius:6px;max-height:200px;overflow-y:auto}.tag-checkbox[data-v-f4650a95]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #e0e0e0;border-radius:16px;cursor:pointer;transition:all .2s;background-color:#f9fafb}.tag-checkbox[data-v-f4650a95]:hover{border-color:#10b981;background-color:#10b9810d}.tag-checkbox input[type=checkbox][data-v-f4650a95]{margin:0;cursor:pointer}.tag-checkbox input[type=checkbox]:checked+.tag-name[data-v-f4650a95]{color:#10b981;font-weight:500}.tag-name[data-v-f4650a95]{font-size:13px;color:#666;-webkit-user-select:none;user-select:none}.loading-state[data-v-f4650a95],.empty-state[data-v-f4650a95]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.loading-icon[data-v-f4650a95],.empty-icon[data-v-f4650a95]{font-size:48px;margin-bottom:16px}.loading-icon[data-v-f4650a95]{animation:spin-f4650a95 1s linear infinite}@keyframes spin-f4650a95{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination[data-v-f4650a95]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px 0}.pagination-btn[data-v-f4650a95]{padding:8px 16px;background-color:#fff;color:#10b981;border:1px solid #10b981;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.pagination-btn[data-v-f4650a95]:hover:not(:disabled){background-color:#10b981;color:#fff}.pagination-btn[data-v-f4650a95]:disabled{opacity:.5;cursor:not-allowed}.pagination-info[data-v-f4650a95]{font-size:14px;color:#666}.management-container[data-v-236fa159]{width:100%;max-width:1400px;min-height:calc(100vh - 144px);background-color:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0033660d;display:flex;flex-direction:column}.section-title[data-v-236fa159]{font-size:24px;font-weight:600;color:#064e3b;margin:0}.section-header[data-v-236fa159]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-actions[data-v-236fa159]{display:flex;gap:12px;align-items:center}.search-box[data-v-236fa159]{display:flex;gap:8px}.search-input[data-v-236fa159]{padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;width:250px;transition:all .2s}.search-input[data-v-236fa159]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.search-btn[data-v-236fa159]{padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.search-btn[data-v-236fa159]:hover{background-color:#059669}.btn-create[data-v-236fa159]{padding:8px 20px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-create[data-v-236fa159]:hover{background-color:#059669}.table-wrapper[data-v-236fa159]{overflow-x:auto}.data-table[data-v-236fa159]{width:100%;border-collapse:collapse}.data-table thead[data-v-236fa159]{background-color:#f5f7fa}.data-table th[data-v-236fa159]{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table td[data-v-236fa159]{padding:12px 16px;font-size:14px;color:#666;border-bottom:1px solid #f0f0f0}.data-table tbody tr[data-v-236fa159]:hover{background-color:#f9fafb}.action-btn[data-v-236fa159]{padding:6px 10px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;background-color:transparent}.action-buttons[data-v-236fa159]{display:flex;gap:8px}.action-btn[data-v-236fa159]:hover{transform:scale(1.1)}.edit-btn[data-v-236fa159]:hover{background-color:#3b82f61a}.delete-btn[data-v-236fa159]:hover{background-color:#ef44441a}.modal-overlay[data-v-236fa159]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-236fa159]{background-color:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header[data-v-236fa159]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-title[data-v-236fa159]{font-size:20px;font-weight:600;color:#064e3b;margin:0}.close-btn[data-v-236fa159]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;transition:color .2s;line-height:1}.close-btn[data-v-236fa159]:hover{color:#333}.modal-body[data-v-236fa159]{padding:24px}.form-group[data-v-236fa159]{margin-bottom:20px}.form-label[data-v-236fa159]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-input[data-v-236fa159]{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s}.form-input[data-v-236fa159]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.modal-footer[data-v-236fa159]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.btn[data-v-236fa159]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-236fa159]{background-color:#f5f5f5;color:#666}.btn-cancel[data-v-236fa159]:hover{background-color:#e0e0e0}.btn-save[data-v-236fa159]{background-color:#10b981;color:#fff}.btn-save[data-v-236fa159]:hover{background-color:#059669}.loading-state[data-v-236fa159],.empty-state[data-v-236fa159]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.loading-icon[data-v-236fa159],.empty-icon[data-v-236fa159]{font-size:48px;margin-bottom:16px}.loading-icon[data-v-236fa159]{animation:spin-236fa159 1s linear infinite}@keyframes spin-236fa159{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination[data-v-236fa159]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding:16px 0}.page-btn[data-v-236fa159]{padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.page-btn[data-v-236fa159]:hover:not(:disabled){background-color:#059669}.page-btn[data-v-236fa159]:disabled{background-color:#d9d9d9;cursor:not-allowed;opacity:.6}.page-info[data-v-236fa159]{font-size:14px;color:#666}.management-container[data-v-e46defca]{width:100%;max-width:1400px;min-height:calc(100vh - 144px);background-color:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0033660d;display:flex;flex-direction:column}.section-title[data-v-e46defca]{font-size:24px;font-weight:600;color:#064e3b;margin:0}.section-header[data-v-e46defca]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-actions[data-v-e46defca]{display:flex;gap:12px;align-items:center}.search-box[data-v-e46defca]{display:flex;gap:8px}.search-input[data-v-e46defca]{padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;width:250px;transition:all .2s}.search-input[data-v-e46defca]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.search-btn[data-v-e46defca]{padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.search-btn[data-v-e46defca]:hover{background-color:#059669}.btn-create[data-v-e46defca]{padding:8px 20px;background-color:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-create[data-v-e46defca]:hover{background-color:#059669}.table-wrapper[data-v-e46defca]{overflow-x:auto}.data-table[data-v-e46defca]{width:100%;border-collapse:collapse}.data-table thead[data-v-e46defca]{background-color:#f5f7fa}.data-table th[data-v-e46defca]{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table td[data-v-e46defca]{padding:12px 16px;font-size:14px;color:#666;border-bottom:1px solid #f0f0f0}.data-table tbody tr[data-v-e46defca]:hover{background-color:#f9fafb}.action-btn[data-v-e46defca]{padding:6px 10px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;background-color:transparent}.action-buttons[data-v-e46defca]{display:flex;gap:8px}.action-btn[data-v-e46defca]:hover{transform:scale(1.1)}.edit-btn[data-v-e46defca]:hover{background-color:#3b82f61a}.delete-btn[data-v-e46defca]:hover{background-color:#ef44441a}.modal-overlay[data-v-e46defca]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-e46defca]{background-color:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header[data-v-e46defca]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-title[data-v-e46defca]{font-size:20px;font-weight:600;color:#064e3b;margin:0}.close-btn[data-v-e46defca]{background:none;border:none;font-size:28px;color:#999;cursor:pointer;transition:color .2s;line-height:1}.close-btn[data-v-e46defca]:hover{color:#333}.modal-body[data-v-e46defca]{padding:24px}.form-group[data-v-e46defca]{margin-bottom:20px}.form-label[data-v-e46defca]{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-input[data-v-e46defca]{width:100%;padding:10px 14px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s}.form-input[data-v-e46defca]:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.modal-footer[data-v-e46defca]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.btn[data-v-e46defca]{padding:10px 24px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel[data-v-e46defca]{background-color:#f5f5f5;color:#666}.btn-cancel[data-v-e46defca]:hover{background-color:#e0e0e0}.btn-save[data-v-e46defca]{background-color:#10b981;color:#fff}.btn-save[data-v-e46defca]:hover{background-color:#059669}.loading-state[data-v-e46defca],.empty-state[data-v-e46defca]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.loading-icon[data-v-e46defca],.empty-icon[data-v-e46defca]{font-size:48px;margin-bottom:16px}.loading-icon[data-v-e46defca]{animation:spin-e46defca 1s linear infinite}@keyframes spin-e46defca{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.management-container[data-v-54b78d26]{width:100%;max-width:1400px;min-height:calc(100vh - 144px);background-color:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0033660d;display:flex;flex-direction:column}.section-title[data-v-54b78d26]{font-size:24px;font-weight:600;color:#064e3b;margin:0 0 24px}.table-wrapper[data-v-54b78d26]{overflow-x:auto}.data-table[data-v-54b78d26]{width:100%;border-collapse:collapse}.data-table thead[data-v-54b78d26]{background-color:#f5f7fa}.data-table th[data-v-54b78d26]{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.data-table td[data-v-54b78d26]{padding:12px 16px;font-size:14px;color:#666;border-bottom:1px solid #f0f0f0}.data-table tbody tr[data-v-54b78d26]:hover{background-color:#f9fafb}.action-btn[data-v-54b78d26]{padding:6px 10px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;background-color:transparent}.action-btn[data-v-54b78d26]:hover{transform:scale(1.1)}.delete-btn[data-v-54b78d26]:hover{background-color:#ef44441a}.loading-state[data-v-54b78d26],.empty-state[data-v-54b78d26]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.loading-icon[data-v-54b78d26],.empty-icon[data-v-54b78d26]{font-size:48px;margin-bottom:16px}.loading-icon[data-v-54b78d26]{animation:spin-54b78d26 1s linear infinite}@keyframes spin-54b78d26{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-container[data-v-169a2b91]{display:flex;width:100%;min-height:calc(100vh - 80px);background-color:#f5f7fa;padding:32px 0;gap:32px}.admin-sidebar[data-v-169a2b91]{width:240px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000001a;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-header[data-v-169a2b91]{padding:24px 20px;text-align:center;background:linear-gradient(135deg,#064e3b,#047857);color:#fff}.sidebar-title[data-v-169a2b91]{font-size:20px;font-weight:600;margin:0}.sidebar-nav[data-v-169a2b91]{flex:1;padding:16px 12px;overflow-y:auto}.menu-item[data-v-169a2b91]{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:8px;border:none;border-radius:8px;background-color:transparent;color:#666;font-size:15px;cursor:pointer;transition:all .2s;text-align:left}.menu-item[data-v-169a2b91]:hover{background-color:#f5f5f5;color:#064e3b}.menu-item.active[data-v-169a2b91]{background-color:#ecfdf5;color:#064e3b;border-left-color:#064e3b;font-weight:600}.menu-icon[data-v-169a2b91]{font-size:20px}.menu-label[data-v-169a2b91]{flex:1}.admin-main[data-v-169a2b91]{flex:1;padding:0 32px;display:flex;flex-direction:column;align-items:center}@media(max-width:768px){.admin-container[data-v-169a2b91]{flex-direction:column;padding:20px 0;gap:20px}.admin-sidebar[data-v-169a2b91]{width:100%;border-radius:0}.admin-main[data-v-169a2b91]{padding:0 20px}}
