/* ============================================================
   admin.css —— LLM API 参考组件语言 / 超管业务适配
   依据：docs/llmapi-style-integration.md（2026-09-28）。
   仅用于 admin/**：页签、角色、SRA、数据密度与差异视图。
   240px 浮动侧栏、顶栏定位和内容偏移由 layout.css 统一负责。
   颜色与材质只消费共享 token；显式浅 / 深色由 tokens.css 驱动。
   不改变 W/R/A、移动白名单、二次验证、资金与审计业务契约。
   ============================================================ */

/* 1. 页头：24 / 32 / 700 无衬线；保留模块类名，取消装饰色相条。 */
:root{--adm-hue:var(--color-primary)}
.adm-ident--brand,.adm-ident--danger,.adm-ident--warning,.adm-ident--success,.adm-ident--info,
.adm-id--brand,.adm-id--danger,.adm-id--warning,.adm-id--success,.adm-id--info{--adm-hue:var(--color-primary)}
.adm-ident{align-items:flex-start;gap:var(--sp-3)}
.adm-ident__bar{display:none}
/* flex:1 的 basis:0 会让移动端页头说明按 0 宽参与换行判定，被压成一字一行；
   1 1 auto 按真实内容宽度参与换行，动作区放不下时整行下移（P0-5，25 页共享）。 */
.adm-ident__main{min-width:0;flex:1 1 auto}
.dd-page-head__title,.adm-ident .dd-page-head__title{
  font-family:var(--font-sans);font-size:var(--fs-24);font-weight:var(--fw-bold);
  line-height:var(--sp-8);letter-spacing:var(--ls-normal);text-wrap:balance;color:var(--text-1)}
/* 权限、审计及金额口径必须可读，不再将整段说明裁成一行。 */
.adm-ident .dd-page-head__desc{display:block;-webkit-line-clamp:unset;overflow:visible;
  max-width:80ch;margin-top:var(--sp-2);font-size:var(--fs-14);line-height:var(--lh-base);color:var(--text-3)}
.adm-id{width:32px;height:32px;border-radius:var(--r-md);flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--color-primary-light);color:var(--color-primary)}
.adm-id .dd-ico{width:18px;height:18px}

/* 2. 超管专属 chrome：只改材质和控件，不接管共享外壳布局。
   --lq-border 是颜色；--lq-blur 是完整滤镜值，不再包装 blur()。 */
body[data-shell="admin"] .dd-admin__topbar{box-shadow:var(--lq-shadow)}
.dd-admin__topbar .dd-select{height:32px;padding-inline:var(--sp-3);
  font-family:var(--font-sans);font-size:var(--fs-13);border-radius:var(--r-md);
  background:var(--lq-surface-solid);border:var(--border-control);color:var(--text-1)}
.dd-admin__topbar .dd-select option{background:var(--lq-surface-solid);color:var(--text-1)}
.dd-admin__topbar .dd-select:focus-visible{outline:var(--focus-ring);outline-offset:2px}
/* 页签继续维持 40px 外高，页内常驻详情栏的吸顶口径不变。 */
.dd-admin__tabs{height:40px;min-height:40px;gap:var(--sp-1);padding-block:var(--sp-1);
  background:var(--lq-surface);border-bottom:1px solid var(--lq-border);
  -webkit-backdrop-filter:var(--lq-blur);backdrop-filter:var(--lq-blur)}
.dd-admin__tab{height:32px;flex:0 0 auto;padding:0 var(--sp-3);border:0;border-radius:var(--r-md);
  font-family:var(--font-sans);font-size:var(--fs-13);font-weight:var(--fw-medium);color:var(--text-2);
  transition:background-color var(--dur-instant) var(--ease-std),color var(--dur-instant) var(--ease-std)}
.dd-admin__tab .dd-ico{color:currentColor}
.dd-admin__tab.is-active{background:var(--color-primary-light);color:var(--color-link);border-bottom-color:transparent}
.dd-admin__tab.is-active .dd-ico{color:currentColor}
.dd-admin__tab:active{background:var(--fill-3)}
.dd-admin__tab:focus-visible{outline:var(--focus-ring);outline-offset:-2px}
/* 第一项是模块名，不伪装成第二个选中页签。其原节点、文字和导航锚点不变。 */
.dd-admin__tabs>.t-note{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--text-3)}
.dd-admin__tabs>.t-note+span.dd-admin__tab{background:transparent;color:var(--text-3);
  border-right:1px solid var(--divider);border-radius:0;margin-right:var(--sp-2)}
.dd-sra-bar{gap:var(--sp-3);padding-block:var(--sp-3);font-size:var(--fs-12);line-height:var(--lh-base);
  background:var(--lq-surface);border-bottom:1px solid var(--lq-border);color:var(--text-3);
  -webkit-backdrop-filter:var(--lq-blur);backdrop-filter:var(--lq-blur)}
.dd-sra-bar .dd-tag{flex:0 0 auto}
@media (hover:hover){
  .dd-admin__tab:hover{background:var(--fill-4);color:var(--text-1)}
  .dd-admin__tab.is-active:hover{background:var(--color-primary-light);color:var(--color-link)}
  .dd-admin__tab:hover .dd-ico{color:currentColor}
}

/* 3. 指标：去掉按模块着色的装饰条；状态仍由标签、涨跌和曲线表达。 */
.dd-stat::before{content:none;display:none}
.dd-stat--hero{background:var(--lq-surface);border:1px solid var(--lq-border);box-shadow:var(--lq-shadow)}
.dd-stat--hero .dd-stat__label,.dd-stat--hero .dd-stat__unit{color:var(--text-3)}
.dd-stat--hero .dd-stat__foot{color:var(--text-3);margin-top:var(--sp-2)}
.dd-stat--hero .dd-stat__label .dd-stat__delta{margin-left:auto}
.dd-stat--hero .dd-stat__delta.is-up{color:var(--color-success)}
.dd-stat--hero .dd-stat__delta.is-down{color:var(--color-danger)}
.dd-stat--hero .dd-stat__delta.is-flat{color:var(--text-3)}
.dd-stat--hero .dd-stat__value{font-size:var(--fs-32);font-family:var(--font-mono);font-weight:var(--fw-semibold);
  font-variant-numeric:tabular-nums;letter-spacing:var(--ls-mono);line-height:var(--lh-tight);color:var(--text-1)}
.dd-stat--hero .dd-money{font-family:var(--font-mono);letter-spacing:var(--ls-mono);color:var(--text-1)}
.dd-stat--hero .dd-stat__ico{background:var(--color-primary-light);color:var(--color-primary)}
.dd-stat--hero .dd-stat__spark{color:var(--color-primary)}
.dd-stat--hero .dd-stat__spark svg{display:block;width:100%;height:100%}
.dd-stat--mini{padding:var(--sp-4)}
.dd-stat--mini .dd-stat__value{font-size:var(--fs-24);margin-top:var(--sp-1)}
.dd-stat--mini .dd-stat__foot{margin-top:var(--sp-1)}
.dd-stat--mini .dd-stat__ico{width:28px;height:28px;border-radius:var(--r-md);margin-bottom:0}
.dd-stat--mini .dd-stat__ico .dd-ico{width:var(--ico-16);height:var(--ico-16)}
.dd-stat--mini.dd-stat:has(>.dd-stat__ico),
.dd-stat--mini.dd-stat--ico{grid-template-columns:28px minmax(0,1fr)}

/* 4. 密集表格：常规 48px / dense 44px；表头不透字，保留风险语义。 */
.dd-table{font-family:var(--font-sans);font-size:var(--fs-13)}
.dd-table th{background:var(--lq-surface-solid);font-size:var(--fs-12);color:var(--text-3);
  font-weight:var(--fw-semibold);padding:var(--sp-3) var(--sp-4)}
.dd-table td{height:48px;padding:var(--sp-3) var(--sp-4);border-bottom:var(--bw-1) solid var(--divider)}
.dd-table--dense td{height:44px;padding:var(--sp-2) var(--sp-4)}
.dd-table--striped tbody tr:nth-child(even) td{background:transparent}
.dd-table tr.dd-tr--risk>td:first-child{box-shadow:inset var(--bw-2) 0 0 var(--color-danger)}
@media (hover:hover){
  .dd-table tbody tr.dd-tr--risk:hover>td{background:var(--color-danger-light)}
}

/* 5. 差异视图：旧值 / 新值始终带文字与删除线，不只靠红绿区分。 */
.adm-diff{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--sp-2) var(--sp-4);
  background:var(--bg-recess);border:1px solid var(--divider);border-radius:var(--r-lg);
  box-shadow:none;padding:var(--sp-3) var(--sp-4)}
.adm-diff dt{color:var(--text-3);font-size:var(--fs-13);line-height:var(--lh-base)}
.adm-diff dd{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-2);margin:0;
  min-width:0;font-variant-numeric:tabular-nums;line-height:var(--lh-base);color:var(--text-1)}
.adm-diff__old{display:inline-block;background:var(--color-danger-light);color:var(--color-danger);
  text-decoration:line-through;border-radius:var(--r-sm);padding:var(--sp-0-5) var(--sp-2);overflow-wrap:anywhere}
.adm-diff__new{display:inline-block;background:var(--color-success-light);color:var(--color-success);
  border-radius:var(--r-sm);padding:var(--sp-0-5) var(--sp-2);font-weight:var(--fw-medium);overflow-wrap:anywhere}
.adm-diff__arrow{color:var(--text-3);margin:0 var(--sp-1);font-size:var(--fs-12)}

/* 6. 筛选密度与只读态。控件 36px 与参考组件节奏一致，不缩减点击范围。 */
.dd-filters__item{display:flex;flex-direction:column;gap:var(--sp-1);min-width:180px;max-width:280px}
.dd-filters__item .dd-select,.dd-filters__item .dd-input{height:36px;font-size:var(--fs-14)}
.dd-filters__item--wide{flex:2 1 340px;min-width:260px;max-width:560px;grid-column:span 2}
.adm-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--ls-mono);text-align:right}
.adm-kv{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--sp-2) var(--sp-4);
  align-items:baseline;color:var(--text-1);font-size:var(--fs-13)}
.adm-kv dt,.adm-kv dd{margin:0}
.adm-kv__k{color:var(--text-3);font-size:var(--fs-13);white-space:nowrap}
.dd-skeleton--text{height:12px}
.adm-ro{background:var(--fill-4);cursor:default}
.adm-ro .dd-btn[disabled],.adm-ro .dd-input[disabled],.adm-ro .dd-select[disabled],
.adm-ro .dd-textarea[disabled]{opacity:.6;cursor:not-allowed}
.adm-mobile-only{display:none}

/* 7. 可达性：仅隐藏纯装饰识别条，不隐藏权限拒绝、业务动作或 SRA。 */
.dd-skip:focus{position:fixed;left:var(--sp-4);top:var(--sp-4);z-index:var(--z-toast);
  width:auto;height:auto;margin:0;padding:var(--sp-2) var(--sp-4);clip:auto;clip-path:none;overflow:visible;white-space:nowrap;
  background:var(--lq-surface-solid);color:var(--text-1);border-radius:var(--r-md);box-shadow:var(--lq-shadow);
  outline:var(--focus-ring);outline-offset:2px;font-size:var(--fs-14)}
.dd-mask{overscroll-behavior:contain}
.dd-btn,.dd-chip,.dd-tab,.dd-admin__tab,.dd-seg button,.dd-pager button{touch-action:manipulation;
  -webkit-tap-highlight-color:transparent}
@media (max-width:767px){
  .adm-ident{gap:var(--sp-2)}
  .adm-diff{grid-template-columns:minmax(0,1fr);gap:var(--sp-1)}
  .dd-filters__item{min-width:0;max-width:none;width:100%}
  .dd-filters__item--wide{max-width:none;grid-column:auto}
  .adm-mobile-only{display:flex}
  .dd-sra-bar{gap:var(--sp-2)}
}
@supports not (backdrop-filter:blur(1px)){
  .dd-admin__tabs,.dd-sra-bar{background:var(--lq-surface-solid)}
}
@media (prefers-reduced-motion:reduce){
  .dd-admin__tab{transition:none}
}

/* ============================================================
   8. 层级治理（docs/llmapi-density-review.md 2026-09-28）
   一个 Primary 主工作区（.dd-card--primary 由共享层提供）；
   历史口径、原始报文、低频筛选走 details 降噪（.adm-fold）。
   不改变业务 DOM / 锚点 / 权限；不接管 dd-side 布局。
   ============================================================ */

/* 8.1 长码可断行：360px 视口不再被 dd-kbd / dd-toa / 表内单号长串撑破。
   anywhere 允许在任意字符处折行并让 min-content 收缩，正常文本不受影响。 */
.dd-kbd,.dd-toa{overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.dd-table td,.dd-table th{overflow-wrap:anywhere}
.dd-table .dd-table__main,.dd-table .dd-table__sub,.dd-table .t-domain,
.dd-table .t-mono,.dd-table .mono,.dd-table .dd-tag{min-width:0}
.dd-card__body,.dd-card__foot,.dd-alert span,.dd-alert div{min-width:0}

/* 8.2 SRA / 移动只读条：保持可见但更安静（信息在、表面弱化）。 */
.dd-sra-bar{background:transparent;border-bottom:1px solid var(--divider)}
.adm-mobile-only.dd-alert{background:var(--bg-recess);box-shadow:var(--hairline)}

/* 8.3 折叠件：三级内容（历史 / 口径 / 报文）默认收起，summary 常驻一行。
   与共享层 .dd-filters__more / .dd-page-head__more 各自独立，不互相覆盖。 */
.adm-fold{border:1px solid var(--lq-border);border-radius:var(--r-xl);background:var(--lq-surface)}
.adm-fold--flat{border-color:transparent;background:none}
.adm-fold>summary{display:flex;align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;
  padding:var(--sp-3) var(--sp-6);cursor:pointer;list-style:none;user-select:none;
  font-family:var(--font-sans);font-size:var(--fs-14);font-weight:var(--fw-semibold);color:var(--text-1)}
.adm-fold>summary::-webkit-details-marker{display:none}
.adm-fold>summary::after{content:"展开";margin-left:auto;flex:0 0 auto;
  font-size:var(--fs-12);font-weight:var(--fw-medium);color:var(--text-3)}
.adm-fold[open]>summary{border-bottom:var(--bw-1) solid var(--divider)}
.adm-fold[open]>summary::after{content:"收起"}
.adm-fold>summary:hover{color:var(--color-link)}
.adm-fold>summary:focus-visible{outline:var(--focus-ring);outline-offset:-2px;border-radius:var(--r-md)}
.adm-fold>summary .t-note{font-weight:var(--fw-normal)}
.adm-fold__body{padding:var(--sp-2) var(--sp-6) var(--sp-5)}
.adm-fold__body--flush{padding:0}
/* 卡片内嵌折叠：去边框去底，只留 summary 行与展开体（历史 / 黑名单 / 口径等三级信息） */
.adm-fold--inline{border:0;background:none;border-radius:var(--r-md)}
.adm-fold--inline>summary{padding:var(--sp-2) 0}
.adm-fold--inline[open]>summary{border-bottom:0}
.adm-fold--inline .adm-fold__body{padding:var(--sp-2) 0}
@media (max-width:767px){
  .adm-fold>summary{padding:var(--sp-3) var(--sp-4)}
  .adm-fold__body{padding-left:var(--sp-4);padding-right:var(--sp-4)}
}
