.profile-container{width:min(560px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.profile-header{text-align:center;margin-bottom:2rem}.profile-login{padding:2.5rem;border-radius:16px;background:var(--glass-bg);border:1px solid var(--glass-border);text-align:center}.profile-login h2{margin:0 0 .5rem;color:var(--text-primary)}.profile-login p{margin:0 0 1.25rem;color:var(--text-tertiary);font-size:.9rem}.profile-card{position:relative;border-radius:16px;padding:1.5rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.profile-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,157,.3),transparent)}.profile-section{margin-bottom:1rem}.profile-section:last-child{margin-bottom:0}.profile-section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .75rem;opacity:.8}.profile-field input,.profile-card input[type=text],.profile-card input[type=password]{padding:.6rem .85rem;border-radius:10px;border:1px solid var(--glass-border);background:#0000004d;color:var(--text-primary);font-size:.9rem;outline:none;transition:border-color .25s,box-shadow .25s;font-family:inherit}.profile-card input:focus{border-color:#00ff9d80;box-shadow:0 0 0 3px #00ff9d14}.profile-card input::placeholder{color:#fff3}.profile-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.4rem 1.1rem;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#000;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;font-family:inherit;white-space:nowrap}.profile-btn:hover{opacity:.9;transform:translateY(-1px)}.profile-btn:active{transform:scale(.97)}.profile-btn-danger{background:linear-gradient(135deg,var(--error),#cc2222);color:#fff;box-shadow:0 4px 14px #e74c3c40}.profile-btn-danger:hover{box-shadow:0 6px 22px #e74c3c6b}.profile-btn-secondary{background:var(--glass-bg);color:var(--text-secondary);border:1px solid var(--glass-border)}.profile-btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.profile-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:24px}.profile-overlay--show{opacity:1;pointer-events:auto}.profile-dialog{position:relative;border:1px solid rgba(0,255,157,.15);border-radius:20px;padding:32px 32px 28px;max-width:400px;width:100%;background:linear-gradient(160deg,#0d0d14,#1a1a28);box-shadow:0 0 60px #00ff9d0f,0 24px 80px #00000080,inset 0 1px #ffffff0a;text-align:center;opacity:0;transform:scale(.92) translateY(12px);transition:opacity .3s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.profile-overlay--show .profile-dialog{opacity:1;transform:scale(1) translateY(0)}.profile-dialog:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,157,.3),transparent)}.profile-dialog__label{margin:0 0 20px;color:var(--text-primary);font-size:15px;line-height:1.6;font-weight:500}.profile-dialog__icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:0 auto 18px;font-size:26px;color:var(--error);border-radius:50%;background:#e74c3c1f;border:1px solid rgba(231,76,60,.3)}.profile-dialog--danger{border-color:#e74c3c38;box-shadow:0 0 60px #e74c3c14,0 24px 80px #00000080}.profile-dialog--danger:before{background:linear-gradient(90deg,transparent,rgba(231,76,60,.4),transparent)}.profile-dialog--danger .profile-dialog__label{text-align:center}.profile-dialog--danger .profile-dialog__actions{justify-content:center}.profile-dialog__input{width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#ffffff0a;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .25s,box-shadow .25s,background .25s;box-sizing:border-box;margin-bottom:20px}.profile-dialog__input:focus{border-color:#00ff9d80;background:#00ff9d0a;box-shadow:0 0 0 3px #00ff9d14,0 0 20px #00ff9d0a}.profile-dialog__input::placeholder{color:#fff3}.profile-dialog__actions{display:flex;justify-content:center;gap:10px}.profile-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);margin:1rem 0}.profile-toast{position:fixed;top:24px;left:50%;transform:translate(-50%) translateY(-18px);border:1px solid rgba(0,255,157,.15);border-radius:12px;padding:14px 24px;display:flex;align-items:center;gap:10px;background:linear-gradient(160deg,#0d0d14,#1a1a28);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 0 40px #00ff9d0f,0 12px 48px #0006;z-index:2000;opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none;font-size:14px;max-width:calc(100% - 48px)}.profile-toast--show{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.profile-toast--error{border-color:#e74c3c4d}.profile-toast--error .profile-toast__icon{color:var(--error)}.profile-toast__icon{font-size:16px;font-weight:700}#qqBindForm{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}#qqBindForm input{flex:1;min-width:140px}#qqBindInfo{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}#qqBindInfo p{margin:0}.qq-status-text{font-size:.85rem;color:var(--text-tertiary)}.qq-status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border-radius:20px;background:#00ff9d14;border:1px solid rgba(0,255,157,.2);color:var(--accent);font-size:.82rem;font-weight:500}.qq-status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px #00ff9d80}.profile-loading{display:flex;justify-content:center;padding:3rem 0;color:var(--text-tertiary)}.profile-danger-zone{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.4rem;border-radius:14px;border:1px solid var(--glass-border);background:var(--glass-bg);text-align:left}.danger-head{display:flex;align-items:flex-start;gap:.85rem}.danger-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;font-size:18px;color:#e74c3cb3;background:#e74c3c12;border:1px solid rgba(231,76,60,.15)}.danger-copy{min-width:0}.danger-title{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.danger-desc{margin:0;font-size:.82rem;line-height:1.6;color:var(--text-tertiary)}.danger-action{align-self:flex-start;gap:.4rem;background:transparent;color:#e74c3cd9;border:1px solid rgba(231,76,60,.28);box-shadow:none}.danger-action:hover{background:#e74c3c1f;border-color:#e74c3c80;color:#ff8585;box-shadow:none}.profile-section{text-align:center}.profile-inline-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center}.profile-inline-row>input{flex:1;min-width:120px}.profile-wide{width:min(880px,calc(100% - 2rem))}.profile-overview{display:flex;align-items:center;gap:1.25rem;padding:1.4rem 1.6rem;margin-bottom:1.25rem;border-radius:16px;background:linear-gradient(135deg,#00ff9d14,#4dc3ff0d);border:1px solid rgba(0,255,157,.2);box-shadow:var(--glass-shadow);flex-wrap:wrap}.ov-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid rgba(0,255,157,.4);background:#0000004d;flex-shrink:0}.ov-info{flex:1;min-width:180px}.ov-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.ov-role{font-size:.68rem;font-weight:600;padding:.15rem .55rem;border-radius:20px;border:1px solid transparent}.role-admin{color:gold;background:#ffd7001f;border-color:#ffd70059}.role-audit{color:var(--primary);background:#4dc3ff1f;border-color:#4dc3ff59}.role-user{color:var(--text-secondary);background:#ffffff0f;border-color:var(--glass-border)}.ov-meta{margin-top:.35rem;font-size:.82rem;color:var(--text-tertiary)}.ov-unbound{color:var(--warning)}.ov-stats{display:flex;gap:.6rem;flex-wrap:wrap}.ov-stat{min-width:62px;padding:.5rem .7rem;border-radius:12px;background:#00000047;border:1px solid var(--glass-border);text-align:center}.ov-stat-val{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--accent)}.ov-stat-label{font-size:.68rem;color:var(--text-tertiary);margin-top:.1rem}.profile-tabs{display:flex;gap:.35rem;padding:.35rem;margin-bottom:1.25rem;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);flex-wrap:wrap}.profile-tab{flex:1;min-width:88px;min-height:38px;padding:0 .75rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:.86rem;transition:background .18s,border-color .18s,color .18s}.profile-tab:hover,.profile-tab.active{border-color:#00ff9d5c;background:#00ff9d1a;color:var(--accent)}.profile-subtabs{display:flex;gap:.4rem;margin-bottom:.9rem;flex-wrap:wrap}.profile-subtab{padding:.4rem .9rem;border-radius:20px;border:1px solid var(--glass-border);background:#ffffff08;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:.8rem;transition:background .18s,border-color .18s,color .18s}.profile-subtab:hover,.profile-subtab.active{border-color:#00ff9d66;background:#00ff9d1f;color:var(--accent)}.ach-content{min-height:120px;text-align:left}.ach-loading,.ach-empty{text-align:center;color:var(--text-tertiary);padding:2rem 0;font-size:.88rem}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.ach-item{display:block;padding:.85rem;border-radius:12px;border:1px solid var(--glass-border);background:#00000038;text-decoration:none;transition:transform .15s,border-color .15s}.ach-item:hover{transform:translateY(-2px);border-color:#00ff9d59}.ach-item-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.ach-item-type{font-size:.66rem;color:var(--text-tertiary);border:1px solid var(--glass-border);border-radius:6px;padding:.08rem .4rem}.ach-item-name{font-weight:600;color:var(--text-primary);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ach-item-time{margin-top:.35rem;font-size:.72rem;color:var(--text-tertiary)}.my-vm-chip{font-size:.66rem;padding:.08rem .45rem;border-radius:6px}.my-vm-chip.completed{color:var(--accent);background:#00ff9d1f}.my-vm-chip.favorite{color:var(--warning);background:#f1c40f1f}.ach-row{display:block;padding:.85rem 1rem;border-radius:12px;border:1px solid var(--glass-border);background:#00000038;text-decoration:none;margin-bottom:.6rem;transition:border-color .15s}.ach-row:hover{border-color:#00ff9d59}.ach-row-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.ach-row-head strong{color:var(--text-primary);font-size:.9rem}.ach-row-type{font-size:.66rem;color:var(--text-tertiary);border:1px solid var(--glass-border);border-radius:6px;padding:.08rem .4rem}.ach-row-body{color:var(--text-secondary);font-size:.84rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.ach-row-time{margin-top:.4rem;font-size:.72rem;color:var(--text-tertiary)}.status-chip{font-size:.68rem;padding:.12rem .5rem;border-radius:20px;border:1px solid transparent;white-space:nowrap}.status-pending{color:var(--warning);background:#f1c40f1f;border-color:#f1c40f4d}.status-approved{color:var(--accent);background:#00ff9d1f;border-color:#00ff9d4d}.status-rejected{color:var(--error);background:#e74c3c1f;border-color:#e74c3c4d}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;flex-wrap:wrap}.session-list{display:flex;flex-direction:column;gap:.6rem}.session-item{display:flex;align-items:center;gap:.85rem;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--glass-border);background:#00000038}.session-item.current{border-color:#00ff9d59;background:#00ff9d0f}.session-icon{font-size:1.3rem}.session-info{flex:1}.session-title{font-weight:600;color:var(--text-primary);font-size:.9rem;display:flex;align-items:center;gap:.5rem}.session-cur-badge{font-size:.64rem;color:var(--accent);background:#00ff9d24;border-radius:20px;padding:.06rem .45rem}.session-meta{font-size:.75rem;color:var(--text-tertiary);margin-top:.2rem}.appeal-list{display:flex;flex-direction:column;gap:.7rem}.appeal-item{padding:.9rem 1rem;border-radius:12px;border:1px solid var(--glass-border);background:#00000038;text-align:left}.appeal-item-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.appeal-action{font-weight:600;color:var(--text-primary);font-size:.9rem}.appeal-item-body{font-size:.82rem;color:var(--text-secondary);line-height:1.6}.appeal-item-time{margin-top:.5rem;font-size:.72rem;color:var(--text-tertiary)}.pw-strength{display:none;align-items:center;gap:.6rem;margin-top:.6rem}.pw-strength.show{display:flex}.pw-strength-bar{flex:1;height:6px;border-radius:4px;background:#ffffff14;overflow:hidden;max-width:220px}.pw-strength-bar span{display:block;height:100%;width:0;border-radius:4px;transition:width .25s,background .25s}.pw-strength-label{font-size:.75rem;font-weight:600}@media(max-width:720px){.profile-container{padding:1rem 0 2rem}.profile-card{padding:1.25rem}.profile-overview{padding:1.1rem}.ov-stats{width:100%;justify-content:space-between}.ov-stat{flex:1}}@media(max-width:480px){.ach-grid{grid-template-columns:1fr}.profile-dialog{padding:24px 20px 20px}.profile-dialog__actions{flex-direction:column}.profile-dialog__actions>*{width:100%;justify-content:center;min-height:44px}#qqBindForm .profile-btn,.profile-inline-row .profile-btn{width:100%;min-height:44px}.sec-head{flex-direction:column;align-items:stretch}.sec-head .profile-btn{width:100%;min-height:44px}}.ach-skeleton{display:flex;flex-direction:column;gap:.6rem;padding:.5rem 0}.ach-skel-row{height:46px;border-radius:10px}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff17 37%,#ffffff0a 63%);background-size:400% 100%;animation:profileShimmer 1.4s ease infinite}@keyframes profileShimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.pw-wrap{position:relative;display:flex;flex:1;min-width:120px;align-items:center}.pw-wrap>input{flex:1;width:100%;padding-right:2.4rem!important}.pw-toggle{position:absolute;right:.5rem;border:none;background:transparent;cursor:pointer;font-size:1rem;line-height:1;opacity:.5;padding:.2rem;transition:opacity .2s}.pw-toggle:hover,.pw-toggle.active{opacity:1}.profile-dialog__form{display:flex;flex-direction:column;gap:.75rem;margin-bottom:20px;text-align:left}.profile-dialog__field{display:flex;flex-direction:column;gap:.3rem}.profile-dialog__field span{font-size:.78rem;color:var(--text-secondary)}.profile-dialog__form .profile-dialog__input{margin-bottom:0}
