/* 登录页最后加载，避免通用表单按钮和窄屏规则挤压验证码。 */
.bot-layout.member-bots{grid-template-columns:1fr}
.batch-image-preview{display:block;max-width:100%;max-height:200px;object-fit:contain;margin-top:14px;border-radius:12px}
.auth-card #qq-login{margin-top:8px;min-height:47px}.auth-card #qq-login-hint{font-size:11px;line-height:1.7;margin:10px 0 17px}.login-divider{display:flex;align-items:center;gap:12px;color:#6783a6;font-size:11px;margin:20px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#dce7f5;flex:1}
#batch-dialog{width:min(630px,94vw);max-height:90dvh;overflow:auto}#batch-dialog h3{margin-top:22px}.batch-targets{max-height:200px;overflow:auto;background:#fff;border:1px solid #dce7f5;border-radius:14px;padding:8px 12px}.batch-targets .batch-target{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;padding:10px 2px;line-height:1.6}.batch-target input{flex-shrink:0;width:17px;height:17px}.batch-result-row{display:grid;gap:6px;border-bottom:1px solid #dce7f5;padding:12px 0;font-size:12px}.batch-result-row strong{font-weight:550}.batch-result-row small{color:#a35243}.batch-history{margin-top:24px;font-size:12px}.batch-history summary{cursor:pointer;color:#396eab}.batch-history button{margin:10px 8px 0 0;font-size:11px}#batch-preview{white-space:pre-wrap;overflow-wrap:anywhere}#open-batch{margin:4px 0 12px;font-size:12px}#batch-refresh{margin-top:16px}
.auth{width:100%;max-width:none;min-height:100dvh;grid-template-columns:1fr;gap:0;padding:28px;align-items:center}
.auth>.intro{display:none}
.intro-brand{display:flex;align-items:center;gap:14px;color:#2b5286;font-size:20px;font-weight:650}.intro-brand>span>span{display:block;font-size:9px;letter-spacing:.16em;color:#6684aa;margin-top:5px}.intro-brand .brandmark{width:45px;height:45px;border-radius:15px;font-size:26px}
.auth .intro .eyebrow{margin-top:46px;margin-bottom:17px;font-size:9px;letter-spacing:.15em}.auth .intro h1{font-size:clamp(36px,3.9vw,51px);line-height:1.32;letter-spacing:-.055em;margin-bottom:20px}.auth .intro>p:not(.eyebrow){font-size:13px;color:#526f95}
.intro-preview{width:100%;margin:26px 0 35px;border-radius:21px;border:1px solid #fff;background:#ffffffb3;box-shadow:0 15px 30px #5b8bbc10;padding:18px;position:relative;z-index:1}
.preview-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6784a8;font-size:10px}.preview-dots{letter-spacing:3px;font-size:9px;color:#b2c9e8}.preview-message{display:flex;gap:12px;align-items:center;margin:25px 0 17px}.preview-avatar{width:38px;height:38px;display:grid;place-items:center;background:#e5efff;color:#4d82cc;border-radius:12px;font-size:19px}.preview-message strong{font-size:12px;font-weight:550;color:#416187}.preview-message div>span{display:block;font-size:10px;color:#6c85a5;margin-top:6px}.preview-reply{margin-left:34px;border:1px solid #cfe1ff;background:linear-gradient(120deg,#e8f2ff,#ddebff);padding:14px;border-radius:14px 14px 4px 14px;font-size:12px;color:#3e6aa6;display:flex;justify-content:space-between;gap:10px}.preview-bottom{display:flex;justify-content:space-between;gap:8px;margin-top:22px;padding-top:15px;border-top:1px solid #e4ecf7;font-size:10px;color:#6d85a4}.auth .intro>small{font-size:10px;color:#617fa5}
.auth-card{width:min(640px,100%);padding:28px 36px;margin:0 auto}
.login-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.login-emblem{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#6aa7ff,#2c70ee);box-shadow:0 6px 16px #3878de26,inset 0 1px #ffffff70;color:white;font-size:25px;font-weight:650}
.auth-card .eyebrow{margin-bottom:8px}.auth-card h2{font-size:28px;margin-bottom:8px}.auth-card #auth-description{font-size:13px;margin-bottom:18px}
.auth-card label{margin-top:13px;gap:7px;font-size:13px}.auth-card label input{width:100%;min-width:0;min-height:42px;background:#f8fbff;border-color:#dce6f3;border-radius:12px;padding:10px 12px;font-size:14px}
.auth-card #captcha-input{letter-spacing:2px}.auth-card #captcha-input::placeholder{letter-spacing:0;font-size:13px}
.auth-card .captcha-row{display:flex;gap:12px;align-items:center;margin:12px 0 8px;min-width:0}
.captcha-picture{display:flex;align-items:center;justify-content:center;min-width:0;flex:1;min-height:54px;border:1px solid #d9e5f5;border-radius:13px;overflow:hidden;background:#f4f4f4}
.auth-card .captcha-row img{display:block;width:170px;max-width:100%;height:54px;object-fit:contain}
.auth-card .captcha-row #refresh-captcha{display:inline-flex;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:center;gap:5px;width:auto;min-height:44px;margin:0;padding:10px 13px;border:1px solid #d7e4f7;border-radius:12px;background:#edf4ff;color:#3667ab;font-size:12px;font-weight:550;white-space:nowrap;box-shadow:inset 0 1px #fff}
.auth-card .captcha-row #refresh-captcha:hover:not(:disabled){background:#e0edff;border-color:#bed4f2}
#refresh-captcha span{font-size:18px;line-height:1}#captcha-help{display:block;font-size:11px;line-height:1.7;color:#657d9c;min-height:2em}
.auth-card #auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;margin-top:16px}.auth-card #auth-submit span{font-size:19px;font-weight:400}
.auth-card .error:empty{display:none}.auth-card .auth-foot{margin-top:16px;padding-top:14px;text-align:center;font-size:11px;line-height:2}.auth-foot .security-dot{display:inline-block;width:5px;height:5px;vertical-align:middle;margin-right:3px}
.login-tabs{display:flex;gap:4px;padding:4px;background:#e9f0fa;border-radius:12px;margin-bottom:14px}.auth-card .login-tabs button{margin:0;min-height:38px;border:0;border-radius:9px;background:transparent;color:#567292;font-size:13px}.auth-card .login-tabs button[aria-pressed=true]{background:#fff;color:#2465c4;box-shadow:0 2px 7px #4774a51a}.login-claim{font-size:12px;color:#567292}.login-claim summary{cursor:pointer;padding:5px 0}.login-claim[open]{margin-bottom:16px}.login-claim small{display:block;margin-top:6px}.login-claim input{font-family:monospace;font-size:12px!important}#qq-login-panel{padding:25px 0 10px}
.shell,.active-chat{min-height:0}.messages{min-height:80px}.composer{position:relative;padding:12px 18px}.composer textarea{height:65px;min-height:45px;max-height:140px;resize:vertical;font-size:14px;padding:8px 0}.composer-tools{gap:12px;flex-wrap:wrap;margin-bottom:4px}.composer-tools button,.file-button{border:0;background:none;color:#567292;padding:5px 7px;border-radius:8px;font-size:13px}.composer-tools button:hover,.file-button:hover{background:#eaf2ff}.composer-bottom{margin-top:4px}.composer-bottom .primary{min-height:36px;padding:7px 18px}.emoji-panel{position:absolute;bottom:calc(100% - 10px);left:14px;display:grid;grid-template-columns:repeat(6,40px);gap:4px;padding:10px;background:#fff;border:1px solid #d7e5f6;box-shadow:0 8px 30px #34597a25;border-radius:16px;z-index:3}.emoji-panel button{font-size:23px;min-height:40px;border:0;border-radius:8px;background:none}.emoji-panel button:hover{background:#edf4ff}#image-preview{max-width:140px;max-height:85px;object-fit:contain;border-radius:10px;margin:6px 0}.bot-card{overflow-wrap:anywhere}.bot-card .bot-actions{display:flex;flex-wrap:wrap;gap:8px}.merchant-claim{margin-top:20px;max-width:620px}.merchant-claim input{width:100%;min-width:0;font-family:monospace}.merchant-claim button{margin-top:12px}.admin-bot-tools{margin-top:18px}.admin-bot-tools label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}#issued-claim-code{font-family:monospace;font-size:16px;overflow-wrap:anywhere}
@media(max-height:780px){.intro-preview{margin:20px 0}.auth .intro .eyebrow{margin-top:28px}.auth .intro h1{font-size:42px}.auth-card{margin:18px auto;padding-top:22px;padding-bottom:22px}.auth-card .login-heading,.auth-card>.eyebrow{display:none}.auth-card label{margin-top:10px}.auth-card #auth-description{margin-bottom:12px}.auth-card #auth-submit{padding:8px 12px}.auth>.intro{padding-top:32px;padding-bottom:32px}}
@media(min-width:601px){.login-credentials{display:grid;grid-template-columns:1fr 1fr;gap:18px}.login-credentials label{min-width:0}.login-captcha-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:end;margin-top:3px}.auth-card .login-captcha-fields .captcha-row{margin:0;gap:9px}.login-captcha-fields .captcha-picture{min-height:44px}.auth-card .login-captcha-fields img{height:42px}.auth-card .login-captcha-fields #refresh-captcha{padding:9px 10px}.auth-card #captcha-help{margin-top:8px}.auth-card .auth-foot br{display:none}.auth-card .auth-foot a{margin-left:14px}.auth-card>.eyebrow{display:none}.auth-card .login-heading{margin-bottom:18px}}
@media(max-width:850px){.auth{display:grid;grid-template-columns:1fr;max-width:none;padding:24px;gap:0}.auth>.intro{display:none}.auth-card{width:min(640px,100%);margin:auto;align-self:center}.auth-card label input{font-size:16px}}
@media(max-width:400px){.auth{padding:14px}.auth-card{padding:24px 22px}.login-heading .quiet-chip{font-size:10px;padding:6px 10px}.auth-card h2{font-size:27px}.auth-card .captcha-row{gap:9px}.auth-card .captcha-row #refresh-captcha{padding:10px;font-size:11px}.composer{padding:10px 12px}.composer-bottom span{font-size:10px}}
/* 原生复选语义，绿色高对比选中态；不替换为不可访问的图标按钮。 */
input[type=checkbox]:not([role=switch]){appearance:none;position:relative;display:inline-grid;place-content:center;width:26px;height:26px;min-width:26px;padding:0;margin:0;border:1.5px solid #aebfd0;border-radius:8px;background:#fff;vertical-align:middle;cursor:pointer;flex-shrink:0}
input[type=checkbox]:not([role=switch]):checked,input[type=checkbox]:not([role=switch]):indeterminate{background:#138650;border-color:#138650;box-shadow:0 3px 8px #13865024}
input[type=checkbox]:not([role=switch]):checked:after{content:"";width:6px;height:12px;border:solid white;border-width:0 3px 3px 0;transform:translateY(-1px) rotate(45deg)}
input[type=checkbox]:not([role=switch]):indeterminate:after{content:"";width:12px;height:3px;border-radius:2px;background:white}
input[type=checkbox]:focus-visible{outline:3px solid #246ac5;outline-offset:3px}input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}
.batch-selection-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px}.batch-selection-bar label{margin:0;min-height:44px;font-size:13px}.batch-selection-bar>span{font-size:12px;color:#537265;font-variant-numeric:tabular-nums}
.batch-targets .batch-target{padding:12px 10px;border-radius:12px;min-height:52px;cursor:pointer}.batch-target:has(input:checked){background:#edf9f2;color:#126943}.batch-target:has(input:disabled){cursor:not-allowed;color:#839487}
.bot-claim-code{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;padding:16px;background:#f1f7ff;border:1px solid #d8e6f8;border-radius:15px}.bot-claim-code strong,.bot-claim-code small{width:100%}.bot-claim-code strong{font-size:12px;color:#446487}.bot-claim-code input{flex:1;min-width:0;font:13px ui-monospace,Consolas,monospace;color:#245695;padding:12px}.bot-claim-code button{margin:0}.bot-claim-code p{margin:0}.bot-claim-code small{font-size:11px}
.login-access-note{font-size:12px;line-height:1.7;color:#526f91;background:#edf4fd;border-radius:10px;padding:10px 12px;margin:16px 0}
.composer-tools{flex-wrap:wrap}#send-mode{font-size:12px;padding:7px 9px;max-width:100%}
@media(forced-colors:active){input[type=checkbox]:not([role=switch]){appearance:auto}}
.bubble .received-image{display:block;max-width:min(320px,100%);max-height:300px;width:auto;height:auto;object-fit:contain;border-radius:12px;margin:8px 0;background:#eaf1f8}.bubble a:has(.received-image){max-width:100%;overflow-wrap:anywhere}.message:has(.received-image){min-width:120px}
/* 复用现有弹窗与表单，只为资料预览补充尺寸。 */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
#center-bot-contacts{margin-bottom:24px}.contact-card{padding:18px;border:1px solid #dce7f7;border-radius:20px;min-width:0}
.bot-contact{padding:12px 0}.bot-contact a{display:block;width:fit-content;margin:10px 0}.bot-contact label{margin:12px 0}.bot-contact input{font-size:18px;font-weight:600;letter-spacing:1px}
.bot-contact-qr{display:block;width:200px;max-width:100%;height:auto;object-fit:contain;background:white;border:1px solid #dce7f7;border-radius:8px;margin:12px 0}
#bot-contact-dialog{width:min(600px,calc(100vw - 32px));max-height:90dvh;overflow:auto}
#bot-profile-dialog{width:min(620px,calc(100vw - 32px));max-height:90dvh;overflow:auto}
.profile-section,.profile-request{padding:18px 0;border-bottom:1px solid #dce7f7}
.bot-profile-avatar{display:block;width:80px;height:80px;object-fit:cover;border-radius:20px;margin:12px 0}
.profile-request button{margin:8px 8px 0 0}.profile-request label{margin-top:14px}
.topbar .top-meta{gap:8px;flex-wrap:wrap;justify-content:flex-end}
#sound-toggle{min-height:36px;padding:8px 12px;white-space:nowrap;font-size:12px}
#sound-toggle[aria-pressed=true]{color:#126943;background:#e8f8ef;border-color:#a9dfbe}
@media(max-width:600px){.topbar{flex-wrap:wrap;gap:8px}#sound-toggle{padding:7px 9px}}
.bot-layout{grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.bot-layout>div{min-width:0}.bot-layout>#bot-form{padding:20px}
.bot-list-tools{margin-bottom:14px}.bot-list-tools input{width:100%;font-size:13px}
.compact-bot-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:14px;align-items:start}
.compact-bot-list .bot-card{margin:0;padding:18px;border-radius:18px;min-width:0}
.compact-bot-list .bot-card h3{font-size:15px;line-height:1.5;overflow-wrap:anywhere;margin-bottom:8px}
.compact-bot-list .bot-card>p{margin:8px 0;font-size:12px;color:#526e90;line-height:1.7}
.bot-compact-meta{white-space:pre-line}.bot-details{border-top:1px solid #e3edf9;margin-top:12px;padding-top:4px}
.bot-details>summary{cursor:pointer;color:#3266a3;font-size:12px;font-weight:600;padding:10px 0;min-height:36px}
.bot-details>summary:focus-visible{outline:3px solid #91b6ff;outline-offset:2px;border-radius:6px}
.bot-details button{margin:8px 6px 0 0;min-height:34px}.bot-details .bot-contact{padding:0}
.compact-bot-list .bot-claim-code{margin:12px 0;padding:12px;gap:8px;border-radius:12px}
.bot-claim-code textarea{flex-basis:100%;width:100%;min-width:0;resize:none;font:12px/1.7 ui-monospace,Consolas,monospace;color:#245695;padding:8px;overflow-wrap:anywhere}
.compact-bot-list .bot-claim-code button{margin:0}.compact-bot-list .bot-claim-code small{overflow-wrap:anywhere;line-height:1.6}
.bot-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;font-size:12px;color:#526e90}
.bot-pagination button{padding:8px 12px;min-height:36px}.admin-bot-tools>button{margin:0 0 12px}.admin-bot-tools>.checkbox{display:inline-flex;margin-left:16px}
@media(max-width:1100px){.bot-layout{grid-template-columns:minmax(0,1fr)}.bot-layout>#bot-form{max-width:600px;width:100%}}
@media(max-width:650px){.topbar{height:auto;min-height:70px;padding:10px 14px}.compact-bot-list{grid-template-columns:minmax(0,1fr)}.admin-bot-tools>.checkbox{display:flex;margin:0 0 12px}}
