/* 管理员记录页，使用现有主题令牌。 */
.admin-record-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.admin-record-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr); gap: 10px; width: 100%; padding: 12px 0; text-align: left; color: var(--ink); background: none; border: 0; overflow-wrap: anywhere; }
.admin-record-item + .admin-record-item { border-top: 1px solid var(--line); }
.admin-record-grid button, button.admin-record-grid { cursor: pointer; min-height: 44px; }
.admin-record-detail { padding: 8px; background: var(--bg); border-radius: 8px; }
.admin-record-aside { display: none; }
@media (min-width:1600px) { .admin-record-layout { grid-template-columns: minmax(0,1fr) 340px; } .admin-record-aside { display: block; } }
@media (max-width:767px) { .admin-record-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); font-size: 12px; } .admin-record-grid strong { font-size: 14px; } }

@media (min-width:1600px) { .shell.admin-result-shell { grid-template-columns: var(--sidebar-width) minmax(0,1fr); } .admin-result-shell > .rail { display: none; } }

.admin-result-shell .toolbar > button { min-height: 44px; }
@media (max-width:767px) { .admin-record-head { display: none; } }

.recovery-page { width: 100%; max-width: 720px; margin: 0 auto; }
.recovery-page > .surface { margin-top: 16px; padding: 18px; }
.recovery-page h2 { font-size: 18px; }
.recovery-facts { display: grid; grid-template-columns: minmax(70px,1fr) minmax(0,1fr); gap: 12px; margin: 16px 0; }
.recovery-facts dt { color: var(--muted); }
.recovery-facts dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.recovery-confirm-actions { justify-content: flex-end; }

/* 审核R2：固定查看范围与四标签，正文只有一个滚动区。 */
.admin-hub-shell { height:100dvh; min-height:0; overflow:hidden; }
.admin-hub-shell .main { height:100dvh; min-height:0; padding-bottom:calc(50px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; }
.admin-hub-shell .page-head { flex:none; }
.admin-hub-shell .page.admin-hub { padding:0 12px; flex:1; min-height:0; display:flex; flex-direction:column; }
.hub-scope { flex:none; display:flex; align-items:center; gap:8px; height:44px; font-size:11px; }
.hub-scope select { height:35px; flex:1; min-width:0; border:0; border-radius:8px; padding:0 9px; color:var(--ink); background:var(--control); font-size:16px; }
.hub-scope .action { width:44px; min-height:44px; padding:0; }
.hub-tabs { display:flex; align-items:center; flex:none; height:44px; position:relative; gap:2px; }
.hub-tabs::before { content:''; position:absolute; inset:4.5px 0; background:var(--control); border-radius:10px; }
.hub-tabs button { position:relative; flex:1; min-width:0; padding:4.5px 3px; height:44px; font-size:13px; font-weight:600; }
.hub-tabs button span { display:flex; align-items:center; justify-content:center; height:35px; border-radius:8px; }
.hub-tabs button[aria-selected=true] span,.hub-tabs button[aria-pressed=true] span { background:var(--surface); color:var(--accent); }
.hub-body { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:8px 0 12px; }
.admin-hub .surface { margin:0 0 8px; padding:12px; border-radius:11px; }
.admin-hub h2 { font-size:14px; margin:0; }
.admin-hub .meta { font-size:11px; margin:5px 0; }
.hub-title { display:flex; justify-content:space-between; align-items:center; min-height:28px; gap:8px; }
.hub-title .action { min-height:36px; padding:4px 0; font-size:12px; }
.hub-fact { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:29px; border-bottom:1px solid var(--line); font-size:12px; }
.hub-fact > :last-child { text-align:right; overflow-wrap:anywhere; }
.hub-fact .muted { flex:none; font-size:11px; }
.hub-counters { font-size:12px; font-variant-numeric:tabular-nums; margin:8px 0; }
.admin-hub .hub-primary { width:100%; min-height:40px; margin-top:5px; font-size:13px; }
.admin-hub .native-group { margin:0 0 8px; }
.hub-record-tools { display:flex; gap:8px; align-items:center; margin-bottom:8px; }
.hub-record-tools .hub-tabs { flex:1; }
.admin-hub .hub-record-list { padding:0 12px; }
.hub-record { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; text-align:left; border-bottom:1px solid var(--line); padding:6px 0; font-size:13px; }
.hub-record > :first-child { flex:1; min-width:0; }
.hub-record small { display:block; color:var(--muted); font-size:10px; margin-top:2px; }
.hub-pager { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hub-asset-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.hub-asset-actions .action { min-height:40px; font-size:13px; }
.hub-history-row { display:block; width:100%; min-height:44px; }
.hub-agree { display:flex; align-items:center; gap:8px; min-height:44px; font-size:13px; }
.admin-hub .inventory-totals { gap:6px; }
.admin-hub .inventory-totals > div { padding:6px; }
.admin-hub .inventory-totals strong { font-size:15px; }
.admin-hub .inventory-totals small { font-size:10px; }
.admin-hub .inventory-tools { margin:6px 0; }
.admin-hub .inventory-tools input,.admin-hub .inventory-tools select { font-size:16px; }
@media(min-width:768px) {
  .admin-hub-shell { display:grid; grid-template-columns:var(--sidebar-width,200px) minmax(0,1fr); }
  .admin-hub-shell .rail { display:none; }
  .admin-hub-shell .main { padding-bottom:0; }
  .admin-hub-shell .page.admin-hub { padding:0 20px; }
  .hub-scope { max-width:640px; }
  .admin-hub > .hub-tabs { max-width:640px; }
  .hub-task-layout,.hub-assets-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:start; }
  .hub-assets-layout > .inventory { grid-column:2; grid-row:1 / span 3; }
  .hub-assets-layout > .native-group { grid-column:1; }
  .hub-record-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
}

.admin-hub .inventory-totals-compact { display:flex; gap:12px; padding:0; margin:4px 0; }
.admin-hub .inventory-totals-compact > div { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:4px; padding:0; background:none; }
.admin-hub .inventory-totals-compact strong { font-size:12px; }
.admin-hub .inventory-totals-compact small:last-child { width:100%; font-size:9px; }
.admin-hub .inventory-head { padding-top:5px; padding-bottom:5px; }

.admin-hub .inventory-tools { top:0; scroll-margin-top:0; }
.admin-hub .inventory-head { top:60px; }
.admin-hub .inventory-pager { bottom:0; }

.admin-hub .inventory-pager { position:static; }
.identity-bar { display:flex; align-items:center; gap:6px; height:66px; flex:none; }
.identity-bar > .action:last-child { width:44px; min-width:44px; height:44px; padding:0; font-size:18px; }
.identity-bar .identity-picker { flex:1; min-width:0; height:62px; padding:5px 8px; background:var(--control); border:0; border-radius:10px; }
.identity-core { display:flex; align-items:center; gap:8px; width:100%; text-align:left; color:var(--ink); }
.identity-lines { flex:1; min-width:0; display:grid; gap:1px; }
.identity-name { display:flex; gap:5px; align-items:center; min-width:0; min-height:17px; }
.identity-name > strong { font-size:14px; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.identity-name .badges { flex:none; }
.identity-name .badge { width:32px; height:14px; }
.identity-uid { font-size:11px; font-weight:400; line-height:14px; color:var(--muted); }
.identity-guest { font-size:12px; font-weight:400; line-height:16px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.identity-choice-button { display:block; width:100%; text-align:left; min-height:64px; margin-bottom:6px; }
.identity-choice { display:flex; gap:8px; align-items:center; width:100%; }
.identity-choice > span:nth-child(2) { flex:1; min-width:0; }
.identity-choice small { display:block; font-size:11px; color:var(--muted); }
.identity-profile-title { display:flex; align-items:center; gap:8px; }
.identity-profile-title > strong { overflow-wrap:anywhere; }
.admin-hub .hub-scope { height:66px; max-width:640px; }
.hub-quota-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; margin-top:8px; }
.hub-quota-actions .action { min-height:40px; }
.hub-scope > .identity-bar { width:100%; min-width:0; }
.hub-scope .identity-picker { width:auto; }
.admin-hub .hub-body > .surface > .fact { min-height:29px; padding:5px 0; font-size:12px; }

.admin-hub .inventory-tools { padding:4px 0; }
.admin-hub .inventory-head { top:52px; }

/* R4：紧凑管理列表与独立账号选择；输入和触控区域保持可达。 */
.sheet.identity-sheet { display:flex; flex-direction:column; max-height:min(560px,80dvh); overflow:hidden; border-radius:20px 20px 0 0; }
.identity-choice-body { display:flex; flex-direction:column; gap:8px; min-height:0; overflow:hidden; }
.identity-choice-body > input { flex-shrink:0; font-size:16px; min-height:40px; }
.identity-choices { min-height:0; overflow:auto; background:var(--surface); border:.7px solid var(--line); border-radius:11px; }
.identity-choices .identity-choice-button { margin:0; padding:6px 10px; min-height:62px; background:transparent; border:0; border-bottom:.7px solid var(--line); border-radius:0; }
.identity-choice strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.identity-choice-state { flex:0 0 auto; text-align:right; color:var(--accent); }
.identity-choice-state small { color:var(--accent); }
.hub-control-actions { display:flex; gap:8px; margin-top:8px; }
.hub-control-actions > .action { flex:1; min-width:0; min-height:40px; }
.admin-list-head { margin-bottom:6px; }
.admin-search { display:flex; align-items:center; flex-wrap:nowrap; gap:8px; margin:0; }
.admin-search > .field { flex:1; margin:0; }
.admin-search input { font-size:16px; height:40px; }
.admin-search > .action { margin:0; min-height:44px; }
.admin-list-filters,.admin-list-links { display:flex; align-items:center; justify-content:space-between; gap:4px; }
.admin-filter-tabs { display:flex; gap:4px; }
.admin-filter-tabs > .action { min-height:35px; padding:4px 8px; font-size:12px; }
.admin-filter-tabs > .action[aria-pressed=true] { background:var(--blue); color:var(--button-white); }
.admin-list-links > .action,.admin-list-filters > .plain-link { padding:4px 5px; font-size:11px; min-height:44px; }
.admin-dense-list { background:var(--surface); border:.7px solid var(--line); border-radius:11px; overflow:hidden; }
.admin-user-row { display:block; width:100%; border:0; border-bottom:.7px solid var(--line); border-radius:0; padding:0 10px; min-height:64px; text-align:left; color:var(--ink); background:none; }
.admin-user-core { display:flex; align-items:center; gap:8px; width:100%; min-height:64px; }
.admin-user-avatar { flex:0 0 32px; height:32px; display:grid; place-items:center; border-radius:50%; background:var(--control); color:var(--accent); font-size:14px; }
.admin-user-name { flex:1; min-width:0; }
.admin-user-name strong { display:block; font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-user-name small,.admin-user-state small { display:block; font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:2px; }
.admin-user-state { text-align:right; flex:0 0 auto; max-width:100px; }
.admin-user-state small { font-size:10px; }
.admin-visit-row { border-bottom:.7px solid var(--line); }
.admin-visit-toggle { display:block; width:100%; background:none; color:var(--ink); border:0; border-radius:0; padding:6px 10px; min-height:52px; text-align:left; }
.admin-visit-toggle > span { display:block; }
.admin-visit-top { display:flex; align-items:center; gap:6px; justify-content:space-between; }
.admin-visit-top strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:600; }
.admin-visit-top .status { flex-shrink:0; font-size:10px; }
.admin-visit-top .failed { color:var(--danger); }
.admin-visit-toggle small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; color:var(--muted); margin-top:2px; }
.admin-visit-detail { padding:0 10px 10px; overflow-wrap:anywhere; }
.admin-visit-detail[hidden] { display:none; }
.admin-visit-detail .fact { min-height:28px; padding:4px 0; font-size:12px; }
.admin-visit-detail .fact-value { white-space:normal; }
.admin-raw-ua { font-size:11px; overflow-wrap:anywhere; }
@media(min-width:768px) { .admin-users-list { display:grid; grid-template-columns:1fr 1fr; }.sheet.identity-sheet { border-radius:14px; } }
.grant-editor-scrim { padding:8px 8px calc(8px + var(--grant-keyboard-gap,0px)); }
.sheet.grant-editor-sheet { margin:0; width:100%; border-radius:18px; overflow:auto; }
.grant-editor-content .field input,.grant-editor-content .field select { font-size:16px; min-height:44px; }
.grant-editor-content form > .primary { width:100%; min-height:40px; }
.grant-review-row { display:grid; grid-template-columns:minmax(58px,1fr) minmax(0,1.25fr) minmax(0,1.25fr); gap:8px; padding:7px 0; border-bottom:.7px solid var(--line); align-items:center; font-size:12px; }
.grant-review-row > :not(:first-child) { text-align:right; overflow-wrap:anywhere; }
.grant-review-row strong { color:var(--accent); font-weight:600; }
.action.admin-user-row { border:0; border-bottom:.7px solid var(--line); background:transparent; color:var(--ink); }
.action.admin-visit-toggle { border:0; background:transparent; color:var(--ink); }
.admin-filter-tabs > .action { border:0; background:var(--control); color:var(--accent); }
.admin-filter-tabs > .action[aria-pressed=true] { background:var(--blue); color:var(--button-white); }

/* P24：复用同一身份/列表组件，统一三端可读性和触控区域。 */
.admin-hub .meta, .hub-fact .muted, .hub-record small,
.identity-uid, .identity-choice small, .admin-user-name small,
.admin-user-state small, .admin-visit-toggle small, .admin-raw-ua,
.admin-list-links > .action, .admin-list-filters > .plain-link { font-size: 12px; }
.hub-tabs button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.admin-hub .hub-scope, .admin-hub > .hub-tabs { max-width: none; }
.hub-scope { min-height: 66px; height: auto; }
.hub-body > [role="status"], .hub-body > .failure { margin: 8px 0; }
.hub-title .action, .hub-control-actions > .action,
.hub-quota-actions .action { min-height: 44px; }
.hub-task-editor { display: grid; gap: 12px; }
.hub-task-editor > .surface { min-width: 0; }
.hub-task-editor > .surface > .toolbar { gap: 8px; }
.admin-hub-shell .hub-task-editor .field > span { font-size: 12px; }
.identity-lines { gap: 2px; }
.identity-uid { line-height: 16px; }
.identity-picker { min-height: 62px; }
@media (min-width:768px) {
  .hub-task-editor { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  .admin-hub-shell .page.admin-hub { padding-inline: 24px; }
  .admin-hub .hub-body > .surface { max-width: none; }
  .admin-users-list { grid-template-columns: minmax(0,1fr); }
  .admin-user-core { gap: 16px; padding-block: 8px; }
  .admin-user-state { max-width: 240px; }
  .admin-user-row { min-height: 64px; }
  .admin-hub .hub-rule-summary .meta { font-size: 14px; line-height: 1.6; }
}
@media (min-width:768px) and (max-width:1023px) {
  .admin-hub-shell .page.admin-hub { padding-inline: 16px; }
  .hub-task-editor > .surface { padding: 12px; }
}
@media (pointer:coarse), (max-width:767px) {
  .hub-history-row, .hub-asset-actions .action, .admin-filter-tabs > .action { min-height: 44px; }
}

/* 已批准R2：一行身份、密集用户表格与资料分组。 */
.admin-user-head,.admin-user-core{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(130px,1.3fr) 80px 110px 130px 16px;gap:12px;align-items:center}
.admin-user-head{padding:6px 12px;background:var(--control);color:var(--muted);font-size:12px;min-height:32px}
.admin-user-core{min-height:58px;padding:0;grid-template-columns:32px minmax(120px,1.4fr) minmax(130px,1.3fr) 80px 110px 130px 16px}
.admin-user-head{grid-template-columns:minmax(164px,1.4fr) minmax(130px,1.3fr) 80px 110px 130px 16px}
.admin-user-row{min-height:58px;padding:0 12px}.admin-user-email,.admin-user-quota{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.admin-user-state{max-width:none}.admin-user-state .failed{color:var(--warning)}.admin-user-state .admin-user-mobile-quota{display:none}
.admin-profile-identity{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 10px;margin-bottom:6px}.admin-profile-identity>div{flex:1;min-width:0}.admin-profile-identity strong{display:block;font-size:15px}.admin-profile-identity small{display:block;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.admin-profile-tabs{margin-bottom:10px}.admin-profile-columns{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;align-items:start}.admin-profile-columns>.surface{padding:12px}.admin-profile-columns h2{font-size:14px;margin:0 0 8px}.admin-profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.admin-profile-facts .fact{min-height:32px;font-size:12px}.admin-profile-panel .native-feature{min-height:52px;border-top:1px solid var(--line);border-radius:0}.admin-profile-panel .feature-icon{width:24px;height:24px;background:none;color:var(--accent)}.admin-profile-editor{max-width:none}.admin-profile-editor .field input{font-size:16px;min-height:44px}.admin-profile-editor>.primary{min-height:44px}.admin-visit-toggle{min-height:48px}.admin-filter-tabs{background:var(--control);gap:0;border-radius:8px;padding:0 3px}.admin-filter-tabs>.action{min-height:44px;border-radius:6px;padding:0 7px;background:transparent;color:var(--ink)}.admin-filter-tabs>.action[aria-pressed=true]{background:var(--surface);color:var(--accent)}.identity-choice-body>input{min-height:44px}.identity-choice-state{font-size:12px}.identity-bar .identity-picker{height:auto;min-height:62px}.identity-choice-button{min-height:64px}
@media(max-width:767px){.admin-user-head,.admin-user-email,.admin-user-quota,.admin-user-enabled{display:none}.admin-user-core{grid-template-columns:32px minmax(0,1fr) 110px 14px;gap:8px;min-height:62px}.admin-user-row{padding:0 10px;min-height:62px}.admin-user-state .admin-user-mobile-quota{display:block;font-size:12px}.admin-list-filters{flex-wrap:wrap}.admin-list-filters .admin-filter-tabs{flex:1}.admin-profile-columns{display:block}.admin-profile-facts{grid-template-columns:1fr 1fr}.admin-profile-facts .fact{gap:4px;flex-wrap:wrap}.admin-profile-panel .native-feature{font-size:13px}.admin-profile-panel .feature-detail{font-size:12px}.admin-profile-panel .feature-icon{display:none}}
@media(min-width:768px) and (max-width:1100px){.admin-user-core{grid-template-columns:32px minmax(120px,1fr) 90px 110px 16px}.admin-user-head{grid-template-columns:minmax(164px,1fr) 90px 110px 16px}.admin-user-email,.admin-user-quota{display:none}.admin-user-head>span:nth-child(2),.admin-user-head>span:nth-child(5){display:none}.admin-profile-columns{grid-template-columns:1fr}.admin-profile-facts{grid-template-columns:1fr 1fr}}
.admin-profile-panel .native-feature,.hub-tools .native-feature{display:grid;grid-template-columns:22px minmax(0,1fr) 14px;column-gap:10px;row-gap:2px;align-content:center;min-height:52px;padding:6px 12px}.admin-profile-panel .native-feature .feature-icon,.hub-tools .native-feature .feature-icon{display:flex;align-items:center;justify-content:center;grid-column:1;grid-row:1 / span 2;width:22px;height:22px;background:none;color:var(--accent)}.admin-profile-panel .native-feature>span:nth-child(2),.hub-tools .native-feature>span:nth-child(2){grid-column:2;grid-row:1;font-size:13px}.admin-profile-panel .native-feature .feature-detail,.hub-tools .native-feature .feature-detail{grid-column:2;grid-row:2;font-size:12px;text-align:left;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-profile-panel .native-feature>svg,.hub-tools .native-feature>svg{grid-column:3;grid-row:1 / span 2}.hub-tools .native-feature+.native-feature{border-top:1px solid var(--line)}
/* 紧凑布局保留完整触控范围，复选框不拉伸。 */
.admin-list-filters button { min-width: 44px; }
.hub-agree { min-height: 44px; }
.hub-agree input[type="checkbox"] { flex: 0 0 20px; width: 20px; min-width: 20px; height: 20px; min-height: 20px; }
@media (max-width: 767px) { .admin-profile-facts { grid-template-columns: 1fr; } }
/* 已审核61：用户搜索与状态筛选成组，采用轻量下划线状态。 */
.admin-search{background:var(--surface);padding:10px 12px 0;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;margin-bottom:0}.admin-list-filters{padding:0 10px;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;margin-bottom:12px}.admin-filter-tabs{flex:1;min-width:0;gap:0}.admin-filter-tabs>.action{position:relative;flex:1;min-width:44px;min-height:44px;padding:0 6px;border-radius:0;background:transparent;color:var(--muted)}.admin-filter-tabs>.action[aria-pressed=true]{color:var(--accent);background:transparent}.admin-filter-tabs>.action[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:20%;right:20%;height:2px;background:var(--accent)}.admin-user-name strong{white-space:normal;overflow:visible;overflow-wrap:anywhere}.admin-user-core{padding:8px 0;min-height:66px}.admin-user-state small{font-size:12px}.admin-list-filters>.plain-link{width:44px;min-width:44px;padding:0}

.admin-filter-tabs{background:transparent;border-radius:0;padding:0}
@media(max-width:1100px){.native-admin-pager>.action{min-width:44px;min-height:44px}.admin-user-state .admin-user-mobile-quota{display:block;font-size:12px}}
