:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-colored:#ddd}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;transform:translate3d(0,0,var(--toastify-z-index) px);width:var(--toastify-toast-width);z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translate(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;box-sizing:border-box;cursor:pointer;direction:ltr;display:flex;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:var(--toastify-toast-max-height);min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px;white-space:pre-wrap}.Toastify__toast-body>div:last-child{flex:1}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:var(--toastify-color-info);color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:var(--toastify-color-success);color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:var(--toastify-color-warning);color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:var(--toastify-color-error);color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--default{background:var(--toastify-color-progress-colored)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentcolor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__none{0%,60%,75%,90%,to{animation-duration:0;animation-timing-function:none}0%{opacity:1;transform:translateZ(0)}to{transform:translateZ(0)}}.Toastify__none-enter--bottom-center,.Toastify__none-enter--bottom-left,.Toastify__none-enter--bottom-right,.Toastify__none-enter--top-center,.Toastify__none-enter--top-left,.Toastify__none-enter--top-right{animation-name:Toastify__none}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.login-container[data-v-66a9e2e1]{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:20px;background-color:#f5f5f5}.login-card[data-v-66a9e2e1]{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:40px;width:100%;max-width:400px}.login-title[data-v-66a9e2e1]{text-align:center;margin-bottom:30px;color:#333;font-size:24px;font-weight:600}.login-form[data-v-66a9e2e1]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-66a9e2e1]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-66a9e2e1]{font-weight:500;color:#555;font-size:14px}.form-input[data-v-66a9e2e1]{padding:12px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.form-input[data-v-66a9e2e1]:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}.captcha-container[data-v-66a9e2e1]{display:flex;gap:10px;align-items:center}.captcha-input[data-v-66a9e2e1]{flex:1}.captcha-image-container[data-v-66a9e2e1]{position:relative;width:120px;height:40px}.captcha-image[data-v-66a9e2e1]{width:100%;height:100%;border-radius:4px;border:1px solid #ddd;cursor:pointer;transition:opacity .3s}.captcha-image[data-v-66a9e2e1]:hover{opacity:.9}.captcha-refresh-btn[data-v-66a9e2e1]{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #ddd;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .3s}.captcha-refresh-btn[data-v-66a9e2e1]:hover{background:#f5f5f5;transform:rotate(90deg)}.captcha-hint[data-v-66a9e2e1]{font-size:11px;color:#888;margin:4px 0 0;text-align:left}.login-btn[data-v-66a9e2e1]{padding:14px;background-color:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s;margin-top:10px}.login-btn[data-v-66a9e2e1]:hover:not(:disabled){background-color:#3a7bc8}.login-btn[data-v-66a9e2e1]:disabled{background-color:#ccc;cursor:not-allowed}.register-link-container[data-v-66a9e2e1]{text-align:center;margin-top:10px}.register-link[data-v-66a9e2e1]{color:#4a90e2;text-decoration:none;font-weight:500}.register-link[data-v-66a9e2e1]:hover{text-decoration:underline}.login-footer[data-v-66a9e2e1]{margin-top:20px;text-align:center}.hint[data-v-66a9e2e1]{font-size:12px;color:#888;margin:0}@media(max-width:480px){.login-card[data-v-66a9e2e1]{padding:30px 20px}.captcha-container[data-v-66a9e2e1]{flex-direction:column}.captcha-image-container[data-v-66a9e2e1]{width:100%;height:44px}}.profile-dialog[data-v-bc5bb247]{background-color:#fff;border-radius:12px;overflow:hidden;width:100%}.dialog-header[data-v-bc5bb247]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;background-color:#f9f9f9}.dialog-title[data-v-bc5bb247]{font-size:1.1rem;font-weight:600;color:#333;margin:0}.dialog-close[data-v-bc5bb247]{width:32px;height:32px;border-radius:50%;border:none;background-color:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;transition:background-color .3s}.dialog-close[data-v-bc5bb247]:hover{background-color:#e5e5e5}.dialog-body[data-v-bc5bb247]{padding:1.5rem}.profile-content[data-v-bc5bb247]{display:flex;flex-direction:column;gap:1.5rem}.avatar-section[data-v-bc5bb247]{display:flex;flex-direction:column;align-items:center;gap:1rem}.avatar-container[data-v-bc5bb247]{display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;transition:transform .3s,opacity .3s}.avatar-container[data-v-bc5bb247]:hover{transform:scale(1.05);opacity:.9}.avatar-preview[data-v-bc5bb247]{width:160px;height:160px;border-radius:12px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;overflow:hidden;border:4px solid #f0f0f0}.avatar-image[data-v-bc5bb247]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-bc5bb247]{font-size:2.5rem;font-weight:700;color:#fff}.avatar-hint[data-v-bc5bb247]{font-size:.85rem;color:#666;text-align:center}.info-form[data-v-bc5bb247]{display:flex;flex-direction:column;gap:1.25rem}.form-group[data-v-bc5bb247]{display:flex;flex-direction:column;gap:.5rem}.form-label[data-v-bc5bb247]{font-size:.9rem;font-weight:500;color:#555}.form-input[data-v-bc5bb247]{padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .3s}.form-input[data-v-bc5bb247]:focus{border-color:#4a90e2}.form-actions[data-v-bc5bb247]{display:flex;gap:1rem;margin-top:.5rem}.btn[data-v-bc5bb247]{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .3s,opacity .3s}.btn-save[data-v-bc5bb247]{background-color:#4a90e2;color:#fff}.btn-save[data-v-bc5bb247]:hover:not(.disabled){background-color:#3a7bc8}.btn-save.disabled[data-v-bc5bb247]{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.btn-change-password[data-v-bc5bb247]{background-color:#f5f5f5;color:#333}.btn-change-password[data-v-bc5bb247]:hover{background-color:#e5e5e5}.divider[data-v-bc5bb247]{height:1px;background-color:#f0f0f0;margin:1.5rem 0}.password-action[data-v-bc5bb247]{display:flex;gap:1rem;margin-top:.5rem}.dialog-overlay[data-v-bc5bb247]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000}.dialog-container[data-v-bc5bb247]{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;width:90%;max-width:400px;overflow:hidden}.dialog-label[data-v-bc5bb247]{display:block;font-size:.9rem;font-weight:500;color:#555;margin-bottom:.5rem}.dialog-input[data-v-bc5bb247]{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .3s}.dialog-input[data-v-bc5bb247]:focus{border-color:#4a90e2}.dialog-footer[data-v-bc5bb247]{padding:1rem 1.5rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.dialog-btn[data-v-bc5bb247]{padding:.6rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s}.dialog-btn-cancel[data-v-bc5bb247]{background-color:#f5f5f5;color:#666}.dialog-btn-cancel[data-v-bc5bb247]:hover{background-color:#e5e5e5}.dialog-btn-confirm[data-v-bc5bb247]{background-color:#4a90e2;color:#fff}.dialog-btn-confirm[data-v-bc5bb247]:hover{background-color:#3a7bc8}.crop-dialog[data-v-bc5bb247]{max-width:600px}.crop-body[data-v-bc5bb247]{padding:1rem}.cropper-container[data-v-bc5bb247]{width:100%;height:400px;margin-bottom:1rem;border-radius:8px;overflow:hidden;background-color:#f9f9f9}.crop-tools[data-v-bc5bb247]{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.crop-tool-btn[data-v-bc5bb247]{width:40px;height:40px;border-radius:50%;border:none;background-color:#f5f5f5;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:background-color .3s}.crop-tool-btn[data-v-bc5bb247]:hover{background-color:#e5e5e5}@media(max-width:768px){.profile-dialog[data-v-bc5bb247]{max-width:100%;margin:0}.form-actions[data-v-bc5bb247]{flex-direction:column}.btn[data-v-bc5bb247]{width:100%}.crop-dialog[data-v-bc5bb247]{max-width:95%}.cropper-container[data-v-bc5bb247]{height:300px}.dialog-body[data-v-bc5bb247]{padding:1rem}.dialog-header[data-v-bc5bb247]{padding:1rem 1.25rem}.avatar-preview[data-v-bc5bb247]{width:120px;height:120px}.info-form[data-v-bc5bb247]{gap:1rem}.form-group[data-v-bc5bb247]{gap:.4rem}}.member-info-panel[data-v-3086c449]{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;pointer-events:none}.panel-overlay[data-v-3086c449]{position:absolute;inset:0;background-color:#00000080;pointer-events:auto}.panel-content[data-v-3086c449]{position:relative;width:400px;max-width:90%;background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;pointer-events:auto;animation:slideInUp-3086c449 .3s ease;overflow:hidden}.panel-header[data-v-3086c449]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;background-color:#f9f9f9}.panel-title[data-v-3086c449]{font-size:1.2rem;font-weight:600;color:#333;margin:0}.panel-close[data-v-3086c449]{width:32px;height:32px;border-radius:50%;border:none;background-color:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;transition:background-color .3s}.panel-close[data-v-3086c449]:hover{background-color:#e5e5e5}.panel-body[data-v-3086c449]{padding:2rem 1.5rem}.member-avatar-large[data-v-3086c449]{width:120px;height:120px;border-radius:16px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;overflow:hidden}.avatar-placeholder[data-v-3086c449]{font-size:3rem;font-weight:700;color:#fff}.avatar-image[data-v-3086c449]{width:100%;height:100%;object-fit:cover;border-radius:16px}.member-details[data-v-3086c449]{display:flex;flex-direction:column;gap:1rem}.detail-item[data-v-3086c449]{display:flex;align-items:baseline;padding:.75rem 0;border-bottom:1px solid #f5f5f5}.detail-item[data-v-3086c449]:last-child{border-bottom:none}.detail-label[data-v-3086c449]{font-size:.95rem;font-weight:500;color:#666;min-width:80px;flex-shrink:0}.detail-value[data-v-3086c449]{font-size:1rem;color:#333;flex:1;word-break:break-all}@keyframes slideInUp-3086c449{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.panel-content[data-v-3086c449]{width:90%;max-width:350px}.member-avatar-large[data-v-3086c449]{width:100px;height:100px}.avatar-placeholder[data-v-3086c449]{font-size:2.5rem}}.members-drawer[data-v-66be4103]{position:fixed;inset:60px 0 0;z-index:2000;display:flex;justify-content:flex-end;pointer-events:none}.members-drawer .drawer-content[data-v-66be4103]{pointer-events:auto}.drawer-content[data-v-66be4103]{position:relative;width:320px;background-color:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;animation:slideInRight-66be4103 .3s ease;overflow:hidden}.drawer-header[data-v-66be4103]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;background-color:#f9f9f9;flex-shrink:0}.drawer-header-left[data-v-66be4103]{display:flex;align-items:center;gap:.75rem;flex:1}.drawer-title[data-v-66be4103]{font-size:1.1rem;font-weight:600;color:#333;margin:0}.invite-member-btn[data-v-66be4103]{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background-color:#4a90e2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;transition:background-color .3s;white-space:nowrap}.invite-member-btn[data-v-66be4103]:hover{background-color:#3a7bc8}.invite-member-icon[data-v-66be4103]{font-size:1rem;font-weight:700}.invite-member-text[data-v-66be4103]{font-size:.85rem}.drawer-close[data-v-66be4103]{width:32px;height:32px;border-radius:50%;border:none;background-color:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;transition:background-color .3s}.drawer-close[data-v-66be4103]:hover{background-color:#e5e5e5}.drawer-body[data-v-66be4103]{flex:1;overflow-y:auto;padding:0}.members-list[data-v-66be4103]{padding:.5rem 0}.member-item[data-v-66be4103]{display:flex;align-items:center;padding:.875rem 1.5rem;transition:background-color .3s;border-bottom:1px solid #f9f9f9;cursor:pointer}.member-item[data-v-66be4103]:last-child{border-bottom:none}.member-item[data-v-66be4103]:hover{background-color:#f9f9f9}.member-avatar[data-v-66be4103]{width:42px;height:42px;border-radius:8px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;margin-right:.875rem;flex-shrink:0}.member-avatar-text[data-v-66be4103]{font-size:1rem;font-weight:700;color:#fff}.member-avatar-img[data-v-66be4103]{width:100%;height:100%;object-fit:cover;border-radius:8px}.member-info[data-v-66be4103]{flex:1;min-width:0}.member-name[data-v-66be4103]{font-size:.95rem;font-weight:500;color:#333;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-username[data-v-66be4103]{font-size:.8rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-badge[data-v-66be4103]{color:#ff6b6b;font-weight:600;font-size:.85rem;margin-left:.25rem}@keyframes slideInRight-66be4103{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight-66be4103{0%{transform:translate(0)}to{transform:translate(100%)}}.members-drawer.closing .drawer-content[data-v-66be4103]{animation:slideOutRight-66be4103 .3s ease forwards}@media(max-width:768px){.drawer-content[data-v-66be4103]{width:100%;max-width:320px}.members-drawer[data-v-66be4103]{justify-content:flex-end}}.context-menu-overlay[data-v-66be4103]{position:fixed;inset:0;z-index:3000;pointer-events:auto}.context-menu[data-v-66be4103]{position:fixed;background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:160px;z-index:3001;overflow:hidden;animation:fadeIn-66be4103 .2s ease}.context-menu-item[data-v-66be4103]{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid #f5f5f5}.context-menu-item[data-v-66be4103]:last-child{border-bottom:none}.context-menu-item[data-v-66be4103]:hover{background-color:#f9f9f9}.context-menu-icon[data-v-66be4103]{margin-right:.75rem;font-size:1rem}.context-menu-text[data-v-66be4103]{font-size:.9rem;color:#333}.confirm-dialog-overlay[data-v-66be4103]{position:fixed;inset:0;background-color:#00000080;z-index:4000;display:flex;align-items:center;justify-content:center;pointer-events:auto}.confirm-dialog[data-v-66be4103]{background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;width:400px;max-width:90%;overflow:hidden;animation:slideInUp-66be4103 .3s ease}.confirm-dialog-header[data-v-66be4103]{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f0f0f0}.confirm-dialog-title[data-v-66be4103]{font-size:1.2rem;font-weight:600;color:#333;margin:0}.confirm-dialog-body[data-v-66be4103]{padding:1.5rem}.confirm-dialog-body p[data-v-66be4103]{margin:0 0 .75rem;font-size:1rem;color:#333}.confirm-dialog-body p[data-v-66be4103]:last-child{margin-bottom:0}.confirm-dialog-warning[data-v-66be4103]{color:#ff6b6b;font-weight:500}.confirm-dialog-footer[data-v-66be4103]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid #f0f0f0}.confirm-dialog-btn[data-v-66be4103]{padding:.6rem 1.25rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .3s}.cancel-btn[data-v-66be4103]{background-color:#f5f5f5;color:#666}.cancel-btn[data-v-66be4103]:hover{background-color:#e5e5e5}.confirm-btn[data-v-66be4103]{background-color:#ff6b6b;color:#fff}.confirm-btn[data-v-66be4103]:hover{background-color:#ff5252}@keyframes fadeIn-66be4103{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp-66be4103{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.messages-drawer[data-v-81a32bb9]{position:fixed;inset:60px 0 0;z-index:2000;display:flex;justify-content:flex-end;pointer-events:none}.messages-drawer .drawer-content[data-v-81a32bb9]{pointer-events:auto;position:relative;width:400px;background-color:#fff;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;animation:slideInRight-81a32bb9 .3s ease;overflow:hidden}.messages-drawer.closing .drawer-content[data-v-81a32bb9]{animation:slideOutRight-81a32bb9 .3s ease forwards}.drawer-header[data-v-81a32bb9]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;background-color:#f9f9f9;flex-shrink:0}.drawer-header-left[data-v-81a32bb9]{display:flex;align-items:center;gap:.75rem;flex:1}.drawer-title[data-v-81a32bb9]{font-size:1.1rem;font-weight:600;color:#333;margin:0}.drawer-close[data-v-81a32bb9]{width:32px;height:32px;border-radius:50%;border:none;background-color:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;transition:background-color .3s}.drawer-close[data-v-81a32bb9]:hover{background-color:#e5e5e5}.drawer-body[data-v-81a32bb9]{flex:1;overflow-y:auto;padding:0}.messages-list-container[data-v-81a32bb9]{padding:0}.empty-messages[data-v-81a32bb9]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:3rem 1.5rem;text-align:center;color:#888}.empty-messages-icon[data-v-81a32bb9]{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.empty-messages-text[data-v-81a32bb9]{font-size:1.1rem;font-weight:500;color:#666}.system-messages-list[data-v-81a32bb9]{padding:.5rem 0}.system-message-item[data-v-81a32bb9]{padding:1rem 1.5rem;border-bottom:1px solid #f0f0f0;transition:background-color .3s}.system-message-item[data-v-81a32bb9]:last-child{border-bottom:none}.system-message-item[data-v-81a32bb9]:hover{background-color:#f9f9f9}.system-message-header[data-v-81a32bb9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.system-message-sender-container[data-v-81a32bb9]{display:flex;align-items:center;flex:1}.sender-label[data-v-81a32bb9]{font-size:.9rem;font-weight:500;color:#666;width:50px;flex-shrink:0}.sender-value[data-v-81a32bb9]{font-size:.9rem;font-weight:600;color:#333;flex:1}.system-message-time[data-v-81a32bb9]{font-size:.75rem;color:#999}.system-message-content[data-v-81a32bb9]{margin-bottom:.5rem}.system-message-subject-container[data-v-81a32bb9]{display:flex;align-items:flex-start;margin-bottom:.25rem}.subject-label[data-v-81a32bb9]{font-size:.9rem;font-weight:500;color:#666;width:50px;flex-shrink:0;line-height:1.4}.subject-value[data-v-81a32bb9]{font-size:.9rem;font-weight:600;color:#333;line-height:1.4;flex:1}.system-message-meta[data-v-81a32bb9]{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.5rem}.system-message-type[data-v-81a32bb9],.system-message-state[data-v-81a32bb9]{margin:0}.type-badge[data-v-81a32bb9]{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;text-transform:uppercase}.type-normal[data-v-81a32bb9]{background-color:#e8f4fd;color:#4a90e2}.type-friend-request[data-v-81a32bb9]{background-color:#f0f8e8;color:#5cb85c}.type-group-notice[data-v-81a32bb9]{background-color:#fff8e1;color:#f0ad4e}.type-group-invite[data-v-81a32bb9]{background-color:#f9e8fd;color:#9b59b6}.state-badge[data-v-81a32bb9]{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500}.state-unread[data-v-81a32bb9]{background-color:#ffeaea;color:#e74c3c}.state-read[data-v-81a32bb9]{background-color:#e8f4fd;color:#4a90e2}.state-accepted[data-v-81a32bb9]{background-color:#e8f8f0;color:#27ae60}.state-rejected[data-v-81a32bb9]{background-color:#ffeaea;color:#e74c3c}.state-ignored[data-v-81a32bb9]{background-color:#f5f5f5;color:#999}@media(max-width:768px){.messages-drawer .drawer-content[data-v-81a32bb9]{width:100%;max-width:400px}.messages-drawer[data-v-81a32bb9]{justify-content:flex-end}}.load-more-container[data-v-81a32bb9]{padding:1.5rem;text-align:center;border-top:1px solid #f0f0f0}.loading-indicator[data-v-81a32bb9]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.loading-spinner[data-v-81a32bb9]{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #4a90e2;border-radius:50%;animation:spin-81a32bb9 1s linear infinite}.loading-text[data-v-81a32bb9]{font-size:.85rem;color:#666}.load-more-hint[data-v-81a32bb9]{display:flex;align-items:center;justify-content:center;padding:.5rem}.hint-text[data-v-81a32bb9]{font-size:.85rem;color:#999;font-style:italic}.no-more-messages[data-v-81a32bb9]{padding:1.5rem;text-align:center;border-top:1px solid #f0f0f0}.no-more-text[data-v-81a32bb9]{font-size:.85rem;color:#999;font-style:italic}@keyframes spin-81a32bb9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInRight-81a32bb9{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight-81a32bb9{0%{transform:translate(0)}to{transform:translate(100%)}}.group-info-dialog[data-v-0baa8d10]{background-color:#fff;border-radius:12px;overflow:hidden;width:100%}.dialog-header[data-v-0baa8d10]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;background-color:#f9f9f9}.dialog-title[data-v-0baa8d10]{font-size:1.1rem;font-weight:600;color:#333;margin:0}.dialog-close[data-v-0baa8d10]{width:32px;height:32px;border-radius:50%;border:none;background-color:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;transition:background-color .3s}.dialog-close[data-v-0baa8d10]:hover{background-color:#e5e5e5}.dialog-body[data-v-0baa8d10]{padding:1rem}.group-info-content[data-v-0baa8d10]{display:flex;flex-direction:column;gap:1rem}.avatar-section[data-v-0baa8d10]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.avatar-container[data-v-0baa8d10]{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:transform .3s,opacity .3s}.avatar-container[data-v-0baa8d10]:hover{transform:scale(1.05);opacity:.9}.avatar-preview[data-v-0baa8d10]{width:120px;height:120px;border-radius:12px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;overflow:hidden;border:3px solid #f0f0f0}.avatar-image[data-v-0baa8d10]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-0baa8d10]{font-size:2rem;font-weight:700;color:#fff}.avatar-hint[data-v-0baa8d10]{font-size:.8rem;color:#666;text-align:center}.info-form[data-v-0baa8d10]{display:flex;flex-direction:column;gap:.75rem}.form-group[data-v-0baa8d10]{display:flex;flex-direction:column;gap:.25rem}.form-label[data-v-0baa8d10]{font-size:.85rem;font-weight:500;color:#555}.form-input[data-v-0baa8d10]{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;outline:none;transition:border-color .3s}.form-input[data-v-0baa8d10]:focus{border-color:#4a90e2}.form-input-disabled[data-v-0baa8d10]{background-color:#f9f9f9;color:#999;cursor:not-allowed}.form-hint[data-v-0baa8d10]{font-size:.75rem;color:#999;font-style:italic;margin-top:.125rem}.form-static[data-v-0baa8d10]{padding:.5rem .75rem;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;color:#333}.form-actions[data-v-0baa8d10]{display:flex;gap:.75rem;margin-top:.25rem}.form-notice[data-v-0baa8d10]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;background-color:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0;margin-top:.5rem}.notice-icon[data-v-0baa8d10]{font-size:1.5rem}.notice-text[data-v-0baa8d10]{font-size:.85rem;color:#666;text-align:center;font-weight:500}.btn[data-v-0baa8d10]{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .3s,opacity .3s}.btn-save[data-v-0baa8d10]{background-color:#4a90e2;color:#fff}.btn-save[data-v-0baa8d10]:hover:not(.disabled){background-color:#3a7bc8}.btn-save.disabled[data-v-0baa8d10]{background-color:#95a5a6;cursor:not-allowed;opacity:.6}.crop-dialog[data-v-0baa8d10]{max-width:600px}.crop-body[data-v-0baa8d10]{padding:1rem}.cropper-container[data-v-0baa8d10]{width:100%;height:400px;margin-bottom:1rem;border-radius:8px;overflow:hidden;background-color:#f9f9f9}.crop-tools[data-v-0baa8d10]{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.crop-tool-btn[data-v-0baa8d10]{width:40px;height:40px;border-radius:50%;border:none;background-color:#f5f5f5;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;transition:background-color .3s}.crop-tool-btn[data-v-0baa8d10]:hover{background-color:#e5e5e5}.dialog-overlay[data-v-0baa8d10]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000}.dialog-container[data-v-0baa8d10]{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;width:90%;max-width:400px;overflow:hidden}.dialog-footer[data-v-0baa8d10]{padding:1rem 1.5rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.dialog-btn[data-v-0baa8d10]{padding:.6rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s}.dialog-btn-cancel[data-v-0baa8d10]{background-color:#f5f5f5;color:#666}.dialog-btn-cancel[data-v-0baa8d10]:hover{background-color:#e5e5e5}.dialog-btn-confirm[data-v-0baa8d10]{background-color:#4a90e2;color:#fff}.dialog-btn-confirm[data-v-0baa8d10]:hover{background-color:#3a7bc8}.admin-actions[data-v-0baa8d10]{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.btn-transfer[data-v-0baa8d10]{background-color:#f39c12;color:#fff}.btn-transfer[data-v-0baa8d10]:hover{background-color:#e67e22}.btn-dissolve[data-v-0baa8d10]{background-color:#e74c3c;color:#fff}.btn-dissolve[data-v-0baa8d10]:hover{background-color:#c0392b}.member-actions[data-v-0baa8d10]{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #f0f0f0}.btn-exit[data-v-0baa8d10]{background-color:#e74c3c;color:#fff}.btn-exit[data-v-0baa8d10]:hover{background-color:#c0392b}.confirm-dialog[data-v-0baa8d10]{max-width:400px}.confirm-message[data-v-0baa8d10]{padding:1rem 0;font-size:.95rem;line-height:1.5;color:#333}.confirm-message.warning[data-v-0baa8d10]{color:#e74c3c;font-weight:500}.dialog-btn-dissolve[data-v-0baa8d10]{background-color:#e74c3c;color:#fff}.dialog-btn-dissolve[data-v-0baa8d10]:hover{background-color:#c0392b}.member-select-dialog[data-v-0baa8d10]{max-width:400px}.member-select-message[data-v-0baa8d10]{padding:.5rem 0 1rem;font-size:.95rem;line-height:1.5;color:#333}.member-list[data-v-0baa8d10]{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem}.member-item[data-v-0baa8d10]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color .3s}.member-item[data-v-0baa8d10]:last-child{border-bottom:none}.member-item[data-v-0baa8d10]:hover{background-color:#f9f9f9}.member-item.selected[data-v-0baa8d10]{background-color:#e8f4ff;border-left:3px solid #4a90e2}.member-name[data-v-0baa8d10]{font-size:.95rem;color:#333}.member-check[data-v-0baa8d10]{color:#4a90e2;font-weight:700}.no-members[data-v-0baa8d10]{padding:1.5rem;text-align:center;color:#999;font-style:italic}@media(max-width:768px){.group-info-dialog[data-v-0baa8d10]{max-width:100%;margin:.5rem;width:calc(100% - 1rem)}.form-actions[data-v-0baa8d10]{flex-direction:column}.btn[data-v-0baa8d10]{width:100%}.crop-dialog[data-v-0baa8d10]{max-width:95%}.cropper-container[data-v-0baa8d10]{height:300px}.admin-actions[data-v-0baa8d10]{flex-direction:column}.member-list[data-v-0baa8d10]{max-height:250px}.dialog-body[data-v-0baa8d10]{padding:.75rem}.dialog-header[data-v-0baa8d10]{padding:1rem 1.25rem}.avatar-preview[data-v-0baa8d10]{width:100px;height:100px}.info-form[data-v-0baa8d10]{gap:.5rem}.form-group[data-v-0baa8d10]{gap:.2rem}}.groups-sidebar[data-v-bce108e8]{width:320px;background-color:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.empty-groups-list[data-v-bce108e8]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:#888}.empty-groups-icon[data-v-bce108e8]{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-groups-icon-img[data-v-bce108e8]{width:3rem;height:3rem;object-fit:contain;opacity:.5;filter:brightness(0) saturate(100%)}.empty-groups-text[data-v-bce108e8]{font-size:1rem;font-weight:500;margin-bottom:.5rem;color:#666}.empty-groups-hint[data-v-bce108e8]{font-size:.85rem;color:#999;line-height:1.4}.groups-list[data-v-bce108e8]{flex:1;overflow-y:auto;padding:.5rem 0}.group-item[data-v-bce108e8]{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background-color .3s;border-left:3px solid transparent}.group-item[data-v-bce108e8]:hover{background-color:#f9f9f9}.group-item.active[data-v-bce108e8]{background-color:#f0f7ff;border-left-color:#4a90e2}.group-avatar[data-v-bce108e8]{width:45px;height:45px;border-radius:8px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;margin-right:.75rem;position:relative}.group-avatar.online[data-v-bce108e8]:after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;background-color:#27ae60;border-radius:50%;border:2px solid white}.avatar-text[data-v-bce108e8]{font-size:1.1rem;font-weight:700;color:#fff}.group-avatar-img[data-v-bce108e8]{width:100%;height:100%;object-fit:cover;border-radius:8px}.group-info[data-v-bce108e8]{flex:1;min-width:0}.group-name-row[data-v-bce108e8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.group-name[data-v-bce108e8]{font-size:.95rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-time[data-v-bce108e8]{font-size:.75rem;color:#999}.last-message-row[data-v-bce108e8]{display:flex;justify-content:space-between;align-items:center}.last-message[data-v-bce108e8]{font-size:.85rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:.5rem}.unread-badge[data-v-bce108e8]{background-color:#e74c3c;color:#fff;font-size:.7rem;padding:.1rem .4rem;border-radius:10px;min-width:18px;text-align:center}.add-panel[data-v-bce108e8]{padding:.5rem;border-top:1px solid #e0e0e0;background-color:#f9f9f9}.add-button-container[data-v-bce108e8]{position:relative;display:flex;justify-content:center}.add-button[data-v-bce108e8]{width:36px;height:36px;border-radius:50%;border:none;background-color:#4a90e2;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;font-size:1.2rem;font-weight:700}.add-button[data-v-bce108e8]:hover{background-color:#3a7bc8}.add-button-icon[data-v-bce108e8]{display:block;line-height:1}.add-menu[data-v-bce108e8]{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:1000;overflow:hidden}.add-menu-item[data-v-bce108e8]{display:flex;align-items:center;padding:.75rem 1.2rem;cursor:pointer;color:#333;font-size:.9rem;transition:background-color .2s;border-bottom:1px solid #f0f0f0}.add-menu-item[data-v-bce108e8]:last-child{border-bottom:none}.add-menu-item[data-v-bce108e8]:hover{background-color:#f5f5f5}.add-menu-icon[data-v-bce108e8]{margin-right:.5rem;font-size:1.1rem}.add-menu-icon-img[data-v-bce108e8]{width:2rem;height:2rem;object-fit:contain;margin-right:.5rem;filter:brightness(0) saturate(100%)}.add-menu-text[data-v-bce108e8]{flex:1}.mobile-groups-overlay[data-v-bce108e8]{position:fixed;inset:0;background-color:#00000080;z-index:2000;display:flex;justify-content:flex-start;align-items:stretch}.mobile-groups-panel[data-v-bce108e8]{position:relative;width:85%!important;max-width:320px;height:100%!important;border-right:1px solid #e0e0e0;box-shadow:2px 0 8px #0003;animation:slideIn-bce108e8 .3s ease-out}@keyframes slideIn-bce108e8{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-panel-header[data-v-bce108e8]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e0e0e0;background-color:#f9f9f9}.mobile-panel-title[data-v-bce108e8]{font-size:1.1rem;font-weight:600;color:#333;margin:0}.mobile-panel-close-btn[data-v-bce108e8]{width:36px;height:36px;border-radius:50%;border:none;background-color:#f0f0f0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;font-size:1.5rem;color:#666}.mobile-panel-close-btn[data-v-bce108e8]:hover{background-color:#e0e0e0}.close-icon[data-v-bce108e8]{display:block;line-height:1}@media(max-width:768px){.groups-sidebar[data-v-bce108e8]{width:100%!important;height:40vh;border-right:none;border-bottom:1px solid #e0e0e0}}.image-view-overlay[data-v-c35b8e98]{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:4000;padding:20px}.image-view-container[data-v-c35b8e98]{display:flex;flex-direction:column;width:100%;height:100%;max-width:100vw;max-height:100vh;background-color:#1a1a1a;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000080}.image-view-header[data-v-c35b8e98]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background-color:#2a2a2a;border-bottom:1px solid #3a3a3a;color:#fff;flex-shrink:0}.image-view-title[data-v-c35b8e98]{font-size:16px;font-weight:500;color:#e0e0e0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:50%}.image-view-tools[data-v-c35b8e98]{display:flex;gap:8px}.tool-btn[data-v-c35b8e98]{width:36px;height:36px;border-radius:4px;border:none;background-color:#3a3a3a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;font-size:18px;font-weight:700}.tool-btn[data-v-c35b8e98]:hover{background-color:#4a4a4a}.tool-btn[data-v-c35b8e98]:active{background-color:#5a5a5a}.close-btn[data-v-c35b8e98]{background-color:#d32f2f}.close-btn[data-v-c35b8e98]:hover{background-color:#f44336}.tool-icon[data-v-c35b8e98]{display:block;line-height:1}.image-view-content[data-v-c35b8e98]{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:0}.image-loading[data-v-c35b8e98]{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;gap:16px}.loading-spinner[data-v-c35b8e98]{width:40px;height:40px;border:3px solid #3a3a3a;border-top:3px solid #4a90e2;border-radius:50%;animation:spin-c35b8e98 1s linear infinite}@keyframes spin-c35b8e98{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text[data-v-c35b8e98]{font-size:14px;color:#888}.image-view-image[data-v-c35b8e98]{max-width:none;max-height:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.zoom-hint[data-v-c35b8e98]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background-color:#000000b3;color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;pointer-events:none;z-index:10}.image-view-footer[data-v-c35b8e98]{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background-color:#2a2a2a;border-top:1px solid #3a3a3a;color:#aaa;font-size:13px;flex-shrink:0}.image-info[data-v-c35b8e98]{flex:1}.image-controls[data-v-c35b8e98]{flex:1;text-align:right}.control-hint[data-v-c35b8e98]{color:#888;font-size:12px}@media(max-width:768px){.image-view-overlay[data-v-c35b8e98]{padding:10px}.image-view-header[data-v-c35b8e98]{padding:8px 12px}.image-view-title[data-v-c35b8e98]{font-size:14px;max-width:40%}.tool-btn[data-v-c35b8e98]{width:32px;height:32px;font-size:16px}.image-view-footer[data-v-c35b8e98]{flex-direction:column;gap:8px;text-align:center}.image-info[data-v-c35b8e98],.image-controls[data-v-c35b8e98]{width:100%;text-align:center}.zoom-hint[data-v-c35b8e98]{font-size:12px;padding:6px 12px}}.system-settings-container[data-v-1d8bcd56]{display:flex;flex-direction:column;width:100%;max-width:600px;margin:0 auto;padding:2rem;box-sizing:border-box;position:relative}.settings-content[data-v-1d8bcd56]{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.settings-main-text[data-v-1d8bcd56]{font-size:2rem;font-weight:600;color:#333;line-height:1.4;text-align:center;min-height:50px}.settings-sub-text[data-v-1d8bcd56]{font-size:1rem;font-weight:500;color:#666;line-height:1.4;text-align:center;min-height:50px}.settings-footer[data-v-1d8bcd56]{margin-top:auto;padding-top:2rem;text-align:center;border-top:1px solid #f0f0f0}.copyright-text[data-v-1d8bcd56]{font-size:.75rem;color:#888;line-height:1.4}.close-button[data-v-1d8bcd56]{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border:none;background:#f0f0f0;border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;transition:background-color .2s}.close-button[data-v-1d8bcd56]:hover{background:#e0e0e0}.confirm-button-container[data-v-1d8bcd56]{display:flex;justify-content:center;margin-top:2rem;margin-bottom:1rem}.confirm-button[data-v-1d8bcd56]{padding:.75rem 2rem;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;width:50%;cursor:pointer;transition:background-color .2s}.confirm-button[data-v-1d8bcd56]:hover{background:#0056b3}.v3-body-inner{scroll-behavior:smooth;scrollbar-color:#393d3f rgba(0,0,0,.1);scrollbar-width:thin}.v3-body-inner::-webkit-scrollbar{width:8px}.v3-body-inner::-webkit-scrollbar-track{background-color:transparent}.v3-body-inner::-webkit-scrollbar-thumb{display:none;background:#0000004d;border-radius:5px}.v3-body-inner:hover::-webkit-scrollbar-thumb{display:block}.v3-emoji-picker{height:320px;width:280px;box-shadow:0 2px 10px #0003;border-radius:10px;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;text-align:left}.v3-emoji-picker *{box-sizing:border-box}.v3-emoji-picker .v3-header{padding:15px 15px 13px;border-bottom:1px solid}.v3-emoji-picker .v3-header .v3-groups{display:flex}.v3-emoji-picker .v3-header .v3-groups .v3-group{flex-grow:1;padding:0;margin:0;border:none;background:none;font-size:23px;cursor:pointer;position:relative;display:block;opacity:.7;transition:.2s}.v3-emoji-picker .v3-header .v3-groups .v3-group.v3-is-hidden{display:none}.v3-emoji-picker .v3-header .v3-groups .v3-group:first-child,.v3-emoji-picker .v3-header .v3-groups .v3-group:last-child{flex-grow:0}.v3-emoji-picker .v3-header .v3-groups .v3-group:hover{opacity:1}.v3-emoji-picker .v3-header .v3-groups .v3-group span{display:flex;align-items:center;justify-content:center}.v3-emoji-picker .v3-header .v3-groups .v3-group span img{display:block;width:1em;height:auto}.v3-emoji-picker .v3-spacing{height:11px}.v3-emoji-picker .v3-search input{width:100%;display:block;height:26px;padding:0 10px;border:1px solid;border-radius:3px;font-size:12px;transition:.2s}.v3-emoji-picker .v3-search input:focus{outline:none}.v3-emoji-picker .v3-body{padding:0 0 15px 11px;min-height:0;flex-grow:1}.v3-emoji-picker .v3-body .v3-body-inner{flex-grow:1;min-height:0;overflow-y:auto;overflow-x:hidden;height:100%;padding-right:11px}.v3-emoji-picker .v3-body .v3-body-inner .v3-group h5{margin:0;top:0;padding:7px 0 3px 4px;z-index:2}.v3-emoji-picker .v3-body .v3-body-inner .v3-group h5.v3-sticky{position:sticky}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis{display:flex;font-size:18px;flex-wrap:wrap}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button{cursor:pointer;border:none;background:none;margin:0;text-align:center;display:flex;align-items:center;justify-content:center;flex-basis:12.5%;max-width:12.5%;flex-grow:1;padding:0;font-size:22px;position:relative}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button:after{content:"";width:100%;padding-bottom:100%}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button span{display:flex;align-items:center;justify-content:center}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button img{max-width:100%;padding:4px}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button span,.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button img{position:absolute;top:0;left:0;width:100%;height:100%}.v3-emoji-picker .v3-body .v3-body-inner.is-mac .v3-emojis button{font-family:"Apple Color Emoji"}.v3-emoji-picker .v3-footer{font-size:14px;border-top:1px solid #dddddd;padding:15px;display:flex;align-items:center;justify-content:space-between;position:relative}.v3-emoji-picker .v3-footer .v3-tone,.v3-emoji-picker .v3-footer .v3-foot-left{display:flex;align-items:center}.v3-emoji-picker .v3-footer .v3-tone img,.v3-emoji-picker .v3-footer .v3-foot-left img{width:20px;display:block}.v3-emoji-picker .v3-footer .v3-tone>span:first-child,.v3-emoji-picker .v3-footer .v3-foot-left>span:first-child{margin-right:6px}.v3-emoji-picker .v3-footer .v3-foot-left>span.v3-text{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3-emoji-picker .v3-footer .v3-tone{border:none;padding:0;background:none;cursor:pointer;display:inline-flex;align-items:center}.v3-emoji-picker .v3-footer .v3-tone>span{display:inline-flex;vertical-align:top}.v3-emoji-picker .v3-footer .v3-tone .v3-text{font-size:13px}.v3-emoji-picker .v3-footer .v3-tone .v3-icon{display:inline-flex;height:15px;width:15px;vertical-align:middle;align-self:center;border:2px solid rgba(0,0,0,.2)}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-neutral{background-color:#ffd225}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fb{background-color:#ffdfbd}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fc{background-color:#e9c197}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fd{background-color:#c88e62}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3fe{background-color:#a86637}.v3-emoji-picker .v3-footer .v3-tone .v3-icon.v3-tone-1f3ff{background-color:#60463a}.v3-emoji-picker .v3-footer .v3-tone .is-mac span{font-family:"Apple Color Emoji"}.v3-skin-tones{position:absolute;height:100%;width:60%;top:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:0 15px;opacity:0;visibility:hidden;transition:.2s;border-radius:0 0 10px 10px}.v3-skin-tones.v3-is-open{opacity:1;visibility:visible}.v3-skin-tones .v3-skin-tone{display:inline-block;height:15px;width:25px;border:none;padding:0;cursor:pointer;transition:0ms}.v3-skin-tones .v3-skin-tone:hover{transform:scale(1.1);transition:.2s}.v3-skin-tones .v3-skin-tone-neutral{color:#ffd225;background-color:#ffd225}.v3-skin-tones .v3-skin-tone-1f3fb{color:#ffdfbd;background-color:#ffdfbd}.v3-skin-tones .v3-skin-tone-1f3fc{color:#e9c197;background-color:#e9c197}.v3-skin-tones .v3-skin-tone-1f3fd{color:#c88e62;background-color:#c88e62}.v3-skin-tones .v3-skin-tone-1f3fe{color:#a86637;background-color:#a86637}.v3-skin-tones .v3-skin-tone-1f3ff{color:#60463a;background-color:#60463a}.v3-input-emoji-picker *{box-sizing:border-box}.v3-input-emoji-picker .v3-input-picker-root{position:relative}.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-input,.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-textarea{width:100%;height:40px;border:1px solid #999;padding-left:15px}.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-textarea{min-height:80px;resize:vertical}.v3-input-emoji-picker .v3-input-picker-root .v3-emoji-picker-textarea+.v3-input-picker-wrap .v3-input-picker-icon{top:auto;bottom:5px}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap .v3-input-picker-icon{display:inline-flex;position:absolute;right:5px;top:50%;transform:translateY(-50%);font-size:24px;border:none;background:none;padding:0 5px;cursor:pointer}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap .v3-input-picker-icon img{display:block;width:1em;height:1em}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap .v3-emoji-picker{opacity:0;visibility:hidden;transition:.2s}.v3-input-emoji-picker .v3-input-picker-root .v3-input-picker-wrap.v3-picker-is-open .v3-emoji-picker{opacity:1;visibility:visible;z-index:999}.v3-emoji-picker{--v3-picker-bg: #ffffff;--v3-picker-fg: #000000;--v3-picker-border: #dddddd;--v3-picker-input-bg: var(--v3-picker-bg);--v3-picker-input-border: #cccccc;--v3-picker-input-focus-border: #000000;--v3-group-image-filter: none;--v3-picker-emoji-hover: #f7f7f7;background:var(--v3-picker-bg);color:var(--v3-picker-fg)}.v3-emoji-picker .v3-footer,.v3-emoji-picker .v3-header{border-color:var(--v3-picker-border)}.v3-emoji-picker .v3-groups{filter:var(--v3-group-image-filter)}.v3-emoji-picker .v3-tone{color:var(--v3-picker-fg)}.v3-emoji-picker .v3-search input{background:var(--v3-picker-input-bg);border-color:var(--v3-picker-input-border);color:inherit}.v3-emoji-picker .v3-search input:focus{border-color:var(--v3-picker-input-focus-border)}.v3-emoji-picker .v3-body .v3-body-inner .v3-group h5,.v3-emoji-picker .v3-skin-tones{background:var(--v3-picker-bg)}.v3-emoji-picker .v3-body .v3-body-inner .v3-group .v3-emojis button:hover{background:var(--v3-picker-emoji-hover, #f7f7f7)}@media(prefers-color-scheme:dark){.v3-emoji-picker.v3-color-theme-auto{--v3-picker-bg: #000000;--v3-picker-fg: #ffffff;--v3-picker-border: #333333;--v3-picker-input-bg: #222222;--v3-picker-input-border: #444444;--v3-picker-input-focus-border: #555555;--v3-group-image-filter: invert(1);--v3-picker-emoji-hover: #222222}}.v3-emoji-picker.v3-color-theme-dark{--v3-picker-bg: #000000;--v3-picker-fg: #ffffff;--v3-picker-border: #333333;--v3-picker-input-bg: #222222;--v3-picker-input-border: #444444;--v3-picker-input-focus-border: #555555;--v3-group-image-filter: invert(1);--v3-picker-emoji-hover: #222222}*{margin:0;padding:0;box-sizing:border-box}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;min-height:100vh}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#4a90e2;color:#fff;padding:.75rem 1.5rem;box-shadow:0 2px 4px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:100%;margin:0 auto}.logo-title-container{display:flex;align-items:center;gap:.75rem}.app-logo{height:32px;width:auto;border-radius:4px}.app-title{font-size:1.25rem;font-weight:600}.user-info{display:flex;align-items:center;gap:1rem}.user-name{font-size:.95rem}.user-actions{display:flex;align-items:center;gap:.75rem}.messages-btn{position:relative;width:36px;height:36px;border-radius:50%;border:none;background-color:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;font-size:1.1rem}.messages-btn:hover{background-color:#ffffff4d}.messages-icon{display:block;line-height:1}.messages-icon-img{object-fit:contain;filter:brightness(0) invert(1)}.messages-badge{position:absolute;top:-5px;right:-5px;background-color:#e74c3c;color:#fff;font-size:.6rem;font-weight:700;padding:.1rem .3rem;border-radius:10px;min-width:16px;text-align:center;border:2px solid #4a90e2}.user-menu-container{position:relative}.user-avatar-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .3s}.user-avatar-btn:hover{opacity:.8}.user-avatar{display:flex;align-items:center;justify-content:center}.user-avatar-text{font-size:.9rem;font-weight:700;color:#fff}.user-avatar-img{width:32px;height:32px;object-fit:contain;border-radius:6px}.user-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:3000;overflow:hidden}.menu-item{padding:.75rem 1rem;cursor:pointer;color:#333;font-size:.9rem;transition:background-color .2s;border-bottom:1px solid #f0f0f0}.menu-item:last-child{border-bottom:none}.menu-item:hover{background-color:#f5f5f5}.menu-item:active{background-color:#e8e8e8}.logout-btn{padding:.4rem .8rem;background-color:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;font-size:.85rem;transition:background-color .3s}.logout-btn:hover{background-color:#ffffff4d}.app-main{flex:1;background-color:#f5f5f5}.chat-container{display:flex;height:calc(100vh - 60px);width:100%;position:relative}.groups-sidebar{width:320px;background-color:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.empty-groups-list{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:#888}.empty-groups-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-groups-icon-img{width:3rem;height:3rem;object-fit:contain;opacity:.5;filter:brightness(0) saturate(100%)}.empty-groups-text{font-size:1rem;font-weight:500;margin-bottom:.5rem;color:#666}.empty-groups-hint{font-size:.85rem;color:#999;line-height:1.4}.groups-list{flex:1;overflow-y:auto;padding:.5rem 0}.group-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background-color .3s;border-left:3px solid transparent}.group-item:hover{background-color:#f9f9f9}.group-item.active{background-color:#f0f7ff;border-left-color:#4a90e2}.group-avatar{width:45px;height:45px;border-radius:8px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;margin-right:.75rem;position:relative}.group-avatar.online:after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;background-color:#27ae60;border-radius:50%;border:2px solid white}.avatar-text{font-size:1.1rem;font-weight:700;color:#fff}.group-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:8px}.group-info{flex:1;min-width:0}.group-name-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.group-name{font-size:.95rem;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-time{font-size:.75rem;color:#999}.last-message-row{display:flex;justify-content:space-between;align-items:center}.last-message{font-size:.85rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:.5rem}.unread-badge{background-color:#e74c3c;color:#fff;font-size:.7rem;padding:.1rem .4rem;border-radius:10px;min-width:18px;text-align:center}.add-panel{padding:.5rem;border-top:1px solid #e0e0e0;background-color:#f9f9f9}.add-button-container{position:relative;display:flex;justify-content:center}.add-button{width:36px;height:36px;border-radius:50%;border:none;background-color:#4a90e2;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;font-size:1.2rem;font-weight:700}.add-button:hover{background-color:#3a7bc8}.add-button-icon{display:block;line-height:1}.add-menu{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:1000;overflow:hidden}.add-menu-item{display:flex;align-items:center;padding:.75rem 1.2rem;cursor:pointer;color:#333;font-size:.9rem;transition:background-color .2s;border-bottom:1px solid #f0f0f0}.add-menu-item:last-child{border-bottom:none}.add-menu-item:hover{background-color:#f5f5f5}.add-menu-icon{margin-right:.5rem;font-size:1.1rem}.add-menu-icon-img{width:2rem;height:2rem;object-fit:contain;margin-right:.5rem;filter:brightness(0) saturate(100%)}.add-menu-text{flex:1}.chat-area{flex:1;display:flex;flex-direction:column;background-color:#fff}.empty-chat-area{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:#888;background-color:#f9f9f9}.empty-chat-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.3}.empty-chat-text{font-size:1.1rem;font-weight:500;color:#666;max-width:300px;line-height:1.5}.chat-header{padding:.5rem 1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;background-color:#fff;min-height:50px}.chat-header-actions{display:flex;align-items:center;gap:.5rem}.members-toggle-btn{width:36px;height:36px;border-radius:50%;border:none;background-color:#f0f0f0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s,transform .2s;padding:0;box-shadow:0 2px 4px #0000001a}.members-toggle-btn:hover{background-color:#e0e0e0;transform:scale(1.05)}.members-toggle-btn:active{transform:scale(.95)}.members-toggle-icon{width:20px;height:20px;object-fit:contain}.chat-partner{display:flex;align-items:center}.partner-avatar{width:45px;height:45px;border-radius:8px;background-color:#e74c3c;display:flex;align-items:center;justify-content:center;margin-right:.75rem;position:relative;cursor:pointer;transition:transform .3s,opacity .3s;overflow:hidden}.partner-avatar:hover{transform:scale(1.05);opacity:.9}.partner-avatar.online:after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;background-color:#27ae60;border-radius:50%;border:2px solid white;z-index:1}.partner-avatar-text{font-size:1.1rem;font-weight:700;color:#fff}.partner-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:8px}.partner-info h2{font-size:1.1rem;margin-bottom:.1rem;color:#333}.partner-status{font-size:.85rem;color:#27ae60}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;background-color:#f9f9f9}.messages-list{display:flex;flex-direction:column;gap:1rem}.message-item{display:flex;align-items:flex-start}.message-item.own{justify-content:flex-end}.message-avatar-left,.message-avatar-right{display:flex;align-items:flex-start}.message-avatar-left{margin-right:.75rem}.message-avatar-right{margin-left:.75rem;order:1}.message-avatar-container{display:flex;flex-direction:column;align-items:center;gap:.25rem}.message-avatar{width:36px;height:36px;border-radius:6px;background-color:#4a90e2;display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-avatar-text{font-size:.9rem;font-weight:700;color:#fff}.message-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:6px}.message-content{max-width:70%}.message-item.own .message-content{order:0}.message-sender{font-size:.9rem;color:#666;margin-bottom:.25rem;margin-left:.5rem}.message-bubble{padding:.75rem 1rem;border-radius:18px;position:relative;word-wrap:break-word}.message-item:not(.own) .message-bubble{background-color:#fff;border:1px solid #e0e0e0;border-top-left-radius:4px}.message-item.own .message-bubble{background-color:#4a90e2;color:#fff;border-top-right-radius:4px}.message-text{font-size:.95rem;line-height:1.4;margin-bottom:.25rem;white-space:pre-wrap;word-break:break-word}.message-time{font-size:.65rem;opacity:.8;display:block;text-align:center;font-weight:400;white-space:nowrap;min-width:40px}.message-item.own .message-time{opacity:.9;color:#646464e6;font-weight:500}.message-item:not(.own) .message-time{color:#666}.sidebar-splitter-bar{position:absolute;left:320px;top:0;bottom:0;width:8px;background-color:#f0f0f0;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;cursor:col-resize;display:flex;align-items:center;justify-content:center;transition:background-color .2s;-webkit-user-select:none;user-select:none;z-index:10}.sidebar-splitter-bar:hover{background-color:#e0e0e0}.sidebar-splitter-bar.dragging{background-color:#4a90e2}.sidebar-splitter-handle{width:4px;height:40px;background-color:#999;border-radius:2px;transition:background-color .2s}.sidebar-splitter-bar:hover .sidebar-splitter-handle{background-color:#666}.sidebar-splitter-bar.dragging .sidebar-splitter-handle{background-color:#fff}.splitter-bar{height:8px;background-color:#f0f0f0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;cursor:row-resize;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .2s;-webkit-user-select:none;user-select:none}.splitter-bar:hover{background-color:#e0e0e0}.splitter-bar.dragging{background-color:#4a90e2}.splitter-handle{width:40px;height:4px;background-color:#999;border-radius:2px;transition:background-color .2s}.splitter-bar:hover .splitter-handle{background-color:#666}.splitter-bar.dragging .splitter-handle{background-color:#fff}.message-input-area{padding:.5rem 1.5rem 1rem;border-top:1px solid #e0e0e0;background-color:#fff;display:flex;flex-direction:column;overflow:hidden;height:100%}.input-tools{display:flex;gap:.5rem;margin-bottom:.5rem;height:28px;align-items:center;flex-shrink:0}.tool-btn{width:28px;height:28px;border-radius:50%;border:none;background-color:#f5f5f5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;padding:0}.tool-btn:hover{background-color:#e5e5e5}.tool-icon{font-size:.9rem;line-height:1}.tool-icon-img{width:16px;height:16px;object-fit:contain;filter:brightness(0) saturate(100%)}.input-container{display:flex;gap:.5rem;align-items:stretch;flex:1;min-height:0}.message-input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:12px;font-size:.95rem;outline:none;transition:border-color .3s;resize:none;min-height:40px;max-height:none;overflow-y:auto;font-family:inherit;line-height:1.4;height:100%;margin:0;scrollbar-width:thin;scrollbar-color:#c1c1c1 transparent}.message-input:focus{border-color:#4a90e2}.message-input{transition:border-color .3s,height .2s}.message-input::-webkit-scrollbar{width:8px}.message-input::-webkit-scrollbar-track{background:transparent;border-radius:0 12px 12px 0;margin:4px 0}.message-input::-webkit-scrollbar-thumb{background-color:#c1c1c1;border-radius:4px;border:2px solid transparent;background-clip:content-box}.message-input::-webkit-scrollbar-thumb:hover{background-color:#a8a8a8}.message-input::-webkit-scrollbar-corner{background:transparent}.send-btn{width:36px;height:36px;border-radius:50%;border:none;background-color:#4a90e2;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;flex-shrink:0;align-self:flex-end;margin-bottom:.25rem;padding:0}.send-btn:hover{background-color:#3a7bc8}.send-icon{width:24px;height:24px;object-fit:contain}@media(max-width:768px){.chat-container{flex-direction:column;height:calc(100vh - 60px)}.groups-sidebar:not(.mobile-groups-panel){display:none!important}.chat-area{flex:1;height:auto!important}.sidebar-splitter-bar{display:none}.message-content{max-width:85%}.message-avatar{width:32px;height:32px}.message-avatar-text{font-size:.8rem}.message-avatar-left{margin-right:.5rem}.message-avatar-right{margin-left:.5rem}.message-time{font-size:.6rem;min-width:35px}}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:#f5f5f5;padding:1rem}.dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.dialog-container{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;width:90%;max-width:500px;overflow:hidden}.dialog-header{padding:1.5rem 1.5rem .5rem}.dialog-title{font-size:1.25rem;font-weight:600;color:#333;margin:0}.dialog-body{padding:1rem 1.5rem}.dialog-label{display:block;font-size:.9rem;font-weight:500;color:#555;margin-bottom:.5rem}.dialog-input{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;outline:none;transition:border-color .3s}.dialog-input:focus{border-color:#4a90e2}.dialog-footer{padding:1rem 1.5rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.dialog-btn{padding:.6rem 1.5rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .3s}.dialog-btn-cancel{background-color:#f5f5f5;color:#666}.dialog-btn-cancel:hover{background-color:#e5e5e5}.dialog-btn-confirm{background-color:#4a90e2;color:#fff}.dialog-btn-confirm:hover{background-color:#3a7bc8}.message-detail-content{display:flex;flex-direction:column;gap:1rem}.message-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:1rem}.message-detail-sender,.message-detail-time{display:flex;align-items:center;gap:.5rem;flex:1;min-width:200px}.detail-label{font-size:.85rem;font-weight:500;color:#666}.detail-value{font-size:.95rem;color:#333}.message-detail-sender,.message-detail-time-full,.message-detail-type,.message-detail-state,.message-detail-subject{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.message-detail-sender .detail-label,.message-detail-time-full .detail-label,.message-detail-type .detail-label,.message-detail-state .detail-label,.message-detail-subject .detail-label{font-size:.85rem;font-weight:500;color:#666;width:80px;flex-shrink:0;text-align:right}.message-detail-sender .detail-value,.message-detail-time-full .detail-value,.message-detail-type .detail-value,.message-detail-state .detail-value,.message-detail-subject .detail-value{font-size:.95rem;color:#333;flex:1}.message-detail-time-full .detail-value{font-family:monospace;word-break:break-all}.message-detail-message{display:flex;flex-direction:column;gap:.5rem}.message-content-text{padding:1rem;background-color:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0;font-size:.95rem;line-height:1.5;color:#333;white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.dialog-btn-accept{background-color:#27ae60;color:#fff}.dialog-btn-accept:hover{background-color:#219955}.dialog-btn-reject{background-color:#e74c3c;color:#fff}.dialog-btn-reject:hover{background-color:#d62c1a}.dialog-btn-ignore{background-color:#95a5a6;color:#fff}.dialog-btn-ignore:hover{background-color:#7f8c8d}.emoji-picker-overlay{position:fixed;inset:0;z-index:2999;background-color:transparent}.emoji-picker-container{position:fixed;background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;overflow:hidden;z-index:3000}.emoji-picker-container .vue3-emoji-picker{width:320px;height:320px;border:none}.emoji-picker-container .vue3-emoji-picker .emoji-picker__search{padding:12px;border-bottom:1px solid #f0f0f0}.emoji-picker-container .vue3-emoji-picker .emoji-picker__search input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color .3s}.emoji-picker-container .vue3-emoji-picker .emoji-picker__search input:focus{border-color:#4a90e2}.emoji-picker-container .vue3-emoji-picker .emoji-picker__emojis{height:260px;overflow-y:auto;padding:8px}.emoji-picker-container .vue3-emoji-picker .emoji-picker__emojis .emoji-picker__emoji{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;border-radius:6px;transition:background-color .2s}.emoji-picker-container .vue3-emoji-picker .emoji-picker__emojis .emoji-picker__emoji:hover{background-color:#f5f5f5}.emoji-picker-container .vue3-emoji-picker .emoji-picker__categories{padding:8px;border-top:1px solid #f0f0f0;display:flex;gap:4px;justify-content:center}.emoji-picker-container .vue3-emoji-picker .emoji-picker__categories button{width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background-color .2s}.emoji-picker-container .vue3-emoji-picker .emoji-picker__categories button:hover{background-color:#f5f5f5}.emoji-picker-container .vue3-emoji-picker .emoji-picker__categories button.active{background-color:#4a90e2;color:#fff}.image-message{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:transform .2s,opacity .2s}.image-message:hover{transform:scale(1.02);opacity:.9}.message-image{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain;border:2px solid transparent;transition:border-color .2s}.image-message:hover .message-image{border-color:#4a90e2}.image-view-hint{font-size:.75rem;color:#4a90e2;text-align:center;padding:.25rem .75rem;background-color:#4a90e21a;border-radius:12px;border:1px solid rgba(74,144,226,.3);transition:background-color .2s,border-color .2s;font-weight:500;cursor:pointer}.image-message:hover .image-view-hint{background-color:#4a90e233;border-color:#4a90e280}.message-item.own .image-view-hint{color:#fff;background-color:#ffffff26;border:1px solid rgba(255,255,255,.3)}.message-item.own .image-message:hover .image-view-hint{background-color:#ffffff40;border-color:#ffffff80}.file-message{display:flex;flex-direction:column;gap:.5rem}.file-message-header{display:flex;align-items:center;gap:.5rem}.file-icon{font-size:1.2rem}.file-share-text{font-size:.9rem;font-weight:500;color:#333}.message-item.own .file-share-text{color:#fff}.file-name{font-size:.95rem;font-weight:600;color:#4a90e2;word-break:break-all;padding:.25rem .5rem;background-color:#4a90e21a;border-radius:4px;border-left:3px solid #4a90e2}.message-item.own .file-name{color:#fff;background-color:#fff3;border-left:3px solid white}.file-info{font-size:.85rem;color:#666;text-align:center;font-style:italic;padding:.25rem .5rem;background-color:#0000000d;border-radius:4px;word-break:break-word}.message-item.own .file-info{color:#ffffffe6;background-color:#ffffff1a}.file-download-hint{font-size:.75rem;color:#4a90e2;text-align:center;padding:.25rem .75rem;background-color:#4a90e21a;border-radius:12px;border:1px solid rgba(74,144,226,.3);transition:background-color .2s,border-color .2s;font-weight:500;cursor:pointer;margin-top:.5rem}.file-message:hover .file-download-hint{background-color:#4a90e233;border-color:#4a90e280}.message-item.own .file-download-hint{color:#fff;background-color:#ffffff26;border:1px solid rgba(255,255,255,.3)}.message-item.own .file-message:hover .file-download-hint{background-color:#ffffff40;border-color:#ffffff80}.type-normal{background-color:#e8f4fd;color:#4a90e2}.type-friend-request{background-color:#f0f8e8;color:#5cb85c}.type-group-notice{background-color:#fff8e1;color:#f0ad4e}.type-group-invite{background-color:#f9e8fd;color:#9b59b6}.system-message-text{font-size:.9rem;color:#333;line-height:1.4}.system-message-footer{display:flex;justify-content:flex-end}.system-message-state{margin-top:.25rem}.system-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.system-message-sender{font-size:.9rem;font-weight:500;color:#333}.system-message-time{font-size:.75rem;color:#999}.system-message-content,.system-message-type{margin-bottom:.5rem}.type-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500;text-transform:uppercase}.state-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:500}.state-unread{background-color:#ffeaea;color:#e74c3c}.state-read{background-color:#e8f4fd;color:#4a90e2}.state-accepted{background-color:#e8f8f0;color:#27ae60}.state-rejected{background-color:#ffeaea;color:#e74c3c}.state-ignored{background-color:#f5f5f5;color:#999}.file-menu-overlay{position:fixed;inset:0;background-color:transparent;z-index:2999}.file-menu-container{position:fixed;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:3000;overflow:hidden}.file-menu{display:flex;flex-direction:column}.file-menu-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;color:#333;font-size:.9rem;transition:background-color .2s;border-bottom:1px solid #f0f0f0;gap:.5rem}.file-menu-item:last-child{border-bottom:none}.file-menu-item:hover{background-color:#f5f5f5}.file-menu-item:active{background-color:#e8e8e8}.file-menu-icon{font-size:1.1rem}.file-menu-text{flex:1}.mobile-groups-toggle-btn{position:fixed;bottom:20px;left:20px;width:56px;height:56px;border-radius:50%;border:none;background-color:#4a90e2;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s,transform .2s;padding:0;box-shadow:0 4px 12px #0003;z-index:100}.mobile-groups-toggle-btn:hover{background-color:#3a7bc8;transform:scale(1.05)}.mobile-groups-toggle-btn:active{transform:scale(.95)}.mobile-groups-toggle-icon{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}@media(max-width:768px){.header-content{justify-content:space-between;position:relative}.mobile-header-groups-btn{width:36px;height:36px;border-radius:50%;border:none;background-color:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s;padding:0;flex-shrink:0}.mobile-header-groups-btn:hover{background-color:#ffffff4d}.mobile-header-groups-icon{width:20px;height:20px;object-fit:contain;filter:brightness(0) invert(1)}.logo-title-container.mobile-center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem}.logo-title-container.mobile-center .app-logo{height:28px}.logo-title-container.mobile-center .app-title{font-size:1.1rem}.mobile-user-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0}.mobile-user-avatar .user-actions{display:flex;align-items:center;gap:.5rem}.mobile-user-avatar .user-avatar-btn{display:flex;align-items:center;justify-content:center}.mobile-user-avatar .user-avatar{width:32px;height:32px}.mobile-user-avatar .user-avatar-text{font-size:.85rem}.mobile-user-avatar .user-avatar-img{width:32px;height:32px}.mobile-user-avatar .mobile-user-name{font-size:.85rem;color:#fff;font-weight:500;margin-right:.25rem;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info:not(.mobile-user-avatar){display:none}.mobile-groups-toggle-btn{display:none!important}}@media(min-width:769px){.mobile-header-groups-btn,.mobile-user-avatar{display:none}.user-info{display:flex}}
