[hidden]{display:none!important}
.auth-gate{position:fixed;inset:0;z-index:100000;overflow:auto;display:grid;place-items:center;padding:24px;background:linear-gradient(130deg,#deefff,#eee8ff 60%,#fae4f3)}
.auth-gate[hidden]{display:none!important}
.auth-prompt-open{overflow:hidden}
.auth-card{width:min(100%,440px);padding:36px;background:#ffffffed;border:1px solid #fff;border-radius:26px;box-shadow:0 20px 90px #7875a322}
.auth-close{float:right;border:0!important;background:transparent!important;font-size:24px!important;padding:0!important;line-height:1}
.preview-login-button{border:1px solid #dce0ec!important;border-radius:999px!important;background:#ffffffc7!important;color:#305f51!important;padding:8px 14px!important;cursor:pointer;font:inherit}
.auth-card>img{display:block;margin-bottom:16px}.member-eyebrow{font-size:12px;letter-spacing:2px;color:#656d8b;font-weight:600}
.auth-card h1{font-size:26px;margin:10px 0}.auth-card p,.member-heading p,.member-hero>p{color:#758099;line-height:1.7}
.auth-card label{display:grid;gap:7px;margin:16px 0;font-size:14px}.auth-card input,:is(.member-dashboard,.member-panel) input,:is(.member-dashboard,.member-panel) select{padding:12px 14px;border:1px solid #dcdfea;border-radius:10px;background:white;color:#24283a;font:inherit;max-width:100%}
.auth-tabs{display:flex;gap:8px;margin-top:22px}.auth-tabs button{flex:1}.auth-card button,:is(.member-dashboard,.member-panel) button{padding:10px 16px;border:1px solid #dce0ec;border-radius:10px;background:#f7f8fc;color:#334155;cursor:pointer;font:inherit}
.auth-card #authSubmit{width:100%;background:#305f51;color:white;border:0;padding:14px}.auth-card button:disabled{opacity:.6}.auth-notice{font-size:12px}
#authMessage{font-size:14px;white-space:pre-wrap}
.member-hero{padding:30px 0}.member-hero h1{font-size:34px;margin-top:14px}.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0}
.member-grid>button{border:1px solid #ffffffb0;background:#ffffffb8;padding:36px;border-radius:24px;text-align:left;color:#283d43;box-shadow:0 14px 50px #918bc015;cursor:pointer}.member-grid h2{font-size:25px}.member-grid p{color:#778096}.member-grid b{display:block;margin-top:28px;color:#305f51}
.member-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.member-heading h1{margin:8px 0}.member-heading p{max-width:700px}
.member-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.member-stats article,.member-panel{background:#ffffffde;border:1px solid #ffffff;border-radius:18px;padding:24px}.member-stats span{font-size:14px;color:#778096}.member-stats strong{display:block;font-size:32px;margin-top:16px}.member-panel{margin:24px 0}
.member-table-scroll{overflow:auto}:is(.member-dashboard,.member-panel) table{width:100%;border-collapse:collapse;font-size:14px;text-align:left;white-space:nowrap}:is(.member-dashboard,.member-panel) th{color:#7d859a;background:#f5f5fa;font-weight:500}:is(.member-dashboard,.member-panel) th,:is(.member-dashboard,.member-panel) td{padding:16px 12px;border-bottom:1px solid #ebedf4}:is(.member-dashboard,.member-panel) small{display:block;color:#8490a2;margin-top:5px}
.member-dialog{width:min(720px,90vw);max-height:85vh;overflow:auto;border:0;border-radius:20px;padding:28px}.member-dialog::backdrop{background:#22283c70}.record-turn{border-bottom:1px solid #eee;padding:15px 0}.record-turn p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.dash-actions{display:flex;gap:8px;flex-wrap:wrap}.rank-guide{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.rank-guide span,.rank-guide b{padding:8px 12px;border-radius:999px;background:#ffffffb8;border:1px solid #ffffff}.rank-table .rank-me{background:#eef9f3}.rank-tier{display:inline-block;color:var(--tier);font-weight:700;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--tier) 12%,white)}
#syncError{position:fixed;bottom:12px;left:20px;right:20px;z-index:99999;background:#fff3da;border:1px solid #e6c58c;padding:12px;border-radius:10px}
.feedback-list{display:grid;gap:12px}.feedback-item{border:1px solid #ebedf4;border-radius:14px;padding:16px 18px;background:#fbfbfe}.feedback-item header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.feedback-item header small{margin:0;color:#8490a2}.feedback-cat{font-size:12px;font-weight:600;color:#305f51;background:#e7f2ec;padding:4px 10px;border-radius:999px}.feedback-item p{margin:0;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;color:#2b3040}
.ai-access-badge{font-size:12px;color:#756b91;background:#f0eafa;padding:7px 10px;border-radius:20px}
body[data-role="user"] #btnCreate,body[data-role="user"] #view-list .filters,
body[data-role="user"] #view-list .filter-drops,body[data-role="user"] #view-list #tabs{display:none!important}
body[data-ai="false"] .qz-expl-ai,body[data-ai="false"] .qz-import-ai,body[data-ai="false"] #assessAI{display:none!important}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:clip}
  .main{min-width:0;width:100%;margin-left:0!important}
  .sidebar{width:min(290px,82vw);z-index:1000;box-shadow:10px 0 60px #29263d20}
  .sidebar:not(.collapsed){transform:translateX(0)}
  .sidebar.collapsed{transform:translateX(-110%)}
  .topbar{gap:10px;flex-wrap:wrap;height:auto;padding:10px 14px;position:sticky;top:0;z-index:1100}
  .topbar .search-box{order:3;flex:0 0 100%;width:100%;height:44px}
  .topbar-actions{min-width:0;gap:8px}.user-name{max-width:110px;overflow:hidden;text-overflow:ellipsis}
  .ai-access-badge{font-size:10px;padding:5px 7px}.kbd{display:none}
  .view{padding:18px 14px 40px}.page-title{font-size:27px}.toolbar{flex-wrap:wrap;gap:10px}.search-wrap{width:100%;min-width:0}
  .qz-grid,.cards,.member-grid{grid-template-columns:minmax(0,1fr)!important}
  .qz-settings{align-items:stretch}.qz-seg{display:flex;flex-wrap:wrap}.qz-seg button{min-height:44px}
  .tabs{overflow:auto;white-space:nowrap;max-width:100%}
  .member-hero{padding:12px 0}.member-hero h1{font-size:27px}.member-grid>button{padding:24px}.member-grid h2{font-size:22px}
  :is(.member-dashboard,.member-panel) button,:is(.member-dashboard,.member-panel) select{min-height:44px}.member-heading input{width:100%}
  #page-consultation .consult-main{height:calc(100dvh - 160px);min-height:440px;max-height:none;border-radius:16px}
  #page-consultation .consult-conversation{min-height:0}
  #page-consultation .consult-head{padding:10px;gap:8px}
  #page-consultation .timer-card{margin-left:0}.consult-head h2{font-size:18px}
  #page-consultation .chat-input{padding:8px;gap:6px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
  #page-consultation #chatSend,#page-consultation .chat-mic{width:44px;height:44px;min-width:44px}
  #page-consultation #chatInput{min-height:44px}
  .consult-tabs{padding:6px;gap:0}.consult-tabs button{font-size:13px;min-height:44px}
  .member-stats{gap:10px}.member-stats article{padding:16px}.member-stats strong{font-size:26px}
}
@media(max-width:800px){.member-grid{grid-template-columns:1fr}.member-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.member-panel{padding:14px}.auth-card{padding:26px}}

/* ============================================================
 * 机构信息认证弹窗（2026-09-15）
 * ------------------------------------------------------------
 * 层级基准：90000 —— 高于普通模态(1200)与移动端顶栏(1100)，
 *   低于 #syncError(99999) 与 .auth-gate(100000)，
 *   保证登录门与错误提示仍能压在认证弹窗之上。
 * ============================================================ */
.org-gate{position:fixed;inset:0;z-index:90000;display:grid;place-items:center;padding:24px;overflow:auto}
.org-gate[hidden]{display:none}
.org-backdrop{position:absolute;inset:0;background:rgba(18,22,32,.52);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
body.org-pending .org-backdrop{background:rgba(18,22,32,.7)}
.org-card{position:relative;width:min(560px,100%);margin:auto;padding:32px;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(24,30,48,.32)}
.org-eyebrow{display:block;font-size:var(--text-2xs,10px);font-weight:800;letter-spacing:.14em;color:var(--brand,#2C5F3E)}
.org-card h1{margin:8px 0 10px;font-size:26px;line-height:1.25;color:var(--ink-1,#1a1a2c)}
.org-intro{margin:0 0 20px;font-size:13px;line-height:1.65;color:var(--ink-3,#6b6b80)}
.org-grid{display:grid;gap:16px}
@media(min-width:640px){.org-grid{grid-template-columns:1fr 1fr}}
.org-field{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink-1,#1a1a2c)}
.org-input-wrap{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line,#e7e7ee);border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}
.org-input-wrap:focus-within{border-color:var(--brand,#2C5F3E);box-shadow:0 0 0 3px rgba(44,95,62,.12)}
.org-input-wrap input,.org-input-wrap select{flex:1;min-width:0;border:0;background:transparent;padding:11px 0;font:inherit;font-size:14px;color:var(--ink-1,#1a1a2c);outline:none}
.org-input-wrap i{font-style:normal;font-size:13px;color:var(--ink-3,#6b6b80);flex:0 0 auto}
.org-field small{font-size:11px;font-weight:500;color:var(--ink-3,#6b6b80)}
.org-preview{margin:20px 0 0;padding:12px 14px;border-radius:10px;background:var(--bg-soft,#f5f5fa);font-size:13px;color:var(--ink-2,#4a4a5e)}
.org-preview b{color:var(--brand,#2C5F3E);font-size:14px}
.org-warn{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--warning,#b5651d);border-radius:0 8px 8px 0;background:#fdf6ee;font-size:12px;line-height:1.6;color:#7d5518}
.org-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.org-actions button{min-height:44px;padding:0 20px;border-radius:10px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.org-later{border:1px solid var(--line,#e7e7ee);background:#fff;color:var(--ink-2,#4a4a5e)}
.org-later:hover{background:var(--bg-soft,#f5f5fa)}
.org-submit{border:0;background:var(--brand,#2C5F3E);color:#fff}
.org-submit:hover{background:var(--primary-dark,#1F4530)}
.org-submit:disabled{opacity:.6;cursor:default}
.org-message{margin:12px 0 0;font-size:12px;min-height:18px;color:var(--ink-3,#6b6b80)}
.org-message[data-state="error"]{color:var(--danger,#c93030);font-weight:600}
.org-message[data-state="ok"]{color:var(--success,#1a8c5a);font-weight:600}
@media(max-width:640px){.org-gate{padding:16px}.org-card{padding:24px 20px;border-radius:16px}.org-card h1{font-size:22px}.org-actions{flex-direction:column-reverse}.org-actions button{width:100%}}
body.theme-dark .org-card{background:#1c2030}
body.theme-dark .org-input-wrap{background:#171b29;border-color:#373d51}
body.theme-dark .org-preview{background:#171b29}
body.theme-dark .org-warn{background:#2a2118}
body.theme-dark .org-later{background:#171b29;border-color:#373d51}

/* 教师端「认证信息」徽标与机构分布小标题（2026-09-15） */
.org-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.org-badge[data-state="ok"]{background:#e6f5ec;color:#1a8c5a}
.org-badge[data-state="pending"]{background:#fdf1e3;color:#b5651d}
.org-panel-sub{margin:18px 0 8px;font-size:13px;font-weight:800;color:var(--ink-1,#1a1a2c)}
#orgPanelBody .member-table-scroll:first-of-type{margin-top:4px}
body.theme-dark .org-badge[data-state="ok"]{background:rgba(55,192,168,.16);color:#37c0a8}
body.theme-dark .org-badge[data-state="pending"]{background:rgba(224,164,88,.16);color:#e0a458}

/* 机构认证弹窗 · 身份选择与只读态（2026-09-15 续） */
.org-roles{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.org-roles-label{font-size:13px;font-weight:700;color:var(--ink-1,#1a1a2c);margin-right:2px}
.org-roles label{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border:1px solid var(--line,#e7e7ee);border-radius:999px;background:#fff;font-size:14px;color:var(--ink-2,#4a4a5e);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.org-roles label:hover{border-color:var(--brand,#2C5F3E)}
.org-roles input{width:16px;height:16px;accent-color:var(--brand,#2C5F3E);margin:0}
.org-roles label:has(input:checked){border-color:var(--brand,#2C5F3E);background:var(--primary-soft,#e2ede4);color:var(--primary-dark,#1F4530);font-weight:700}
.org-roles label:has(input:disabled){cursor:default}
body.org-pending .org-roles label:not(:has(input:checked)){opacity:.6}

/* 已认证只读态 */
.org-readonly .org-input-wrap{background:var(--bg-soft,#f5f5fa)}
.org-readonly .org-input-wrap input,.org-readonly .org-input-wrap select{color:var(--ink-2,#4a4a5e);cursor:default}
.org-readonly .org-field small{opacity:.75}
.org-lock{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--accent,#0f7d76);border-radius:0 8px 8px 0;background:#eef8f7;font-size:12px;line-height:1.6;color:#26625d}
body.theme-dark .org-roles label{background:#171b29;border-color:#373d51}
body.theme-dark .org-roles label:has(input:checked){background:#1d332d;border-color:#37c0a8;color:#8fdccd}
body.theme-dark .org-lock{background:#1b2a28;color:#7fd0c6}
body.theme-dark .org-readonly .org-input-wrap{background:#141824}

.org-badge[data-state="ext"]{background:#eef0f4;color:#4a4a5e}
body.theme-dark .org-badge[data-state="ext"]{background:rgba(255,255,255,.1);color:#c9c9d6}
