/* 窄版长单统一纵排，手机与桌面沿同一阅读顺序核对资料。 */
.material-entry { box-sizing:border-box; width:min(420px,calc(100vw - 24px)); max-height:90dvh; overscroll-behavior:contain; overflow:auto; padding:24px; --glass-surface:rgba(250,250,252,.76); border:1px solid var(--glass-line,#ddd); border-radius:10px; color:var(--glass-ink,#111); background:var(--glass-surface,#fafafa); }
.material-entry header,.material-entry nav,.material-entry footer { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.material-entry header { justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--glass-line,#ddd); }
.material-entry h2 { margin:0; font-size:22px; font-weight:650; }
.material-entry h3 { margin:0 0 18px; font-size:14px; font-weight:600; }
.material-entry p,.material-entry li,.material-entry label { font-size:13px; line-height:1.65; }
.material-entry > p { color:var(--glass-muted,#666); margin:12px 0; }
.material-entry [role="status"]:empty { display:none; }
.material-entry :is(button,select,input,textarea) { box-sizing:border-box; color:inherit; background:transparent; border:1px solid var(--glass-line,#bbb); font:inherit; }
.material-entry :is(button,select) { padding:9px 14px; border-radius:999px; cursor:pointer; }
.material-entry :is(input,textarea) { border-radius:12px; padding:10px 12px; }
.material-entry :is(input,select,textarea):focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.material-entry button:disabled { opacity:.5; cursor:wait; }
.material-entry-form { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; margin:24px 0; }
.material-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; align-content:start; }
.material-checklist h3 { grid-column:1/-1; margin:0; }
.material-check-row { min-width:0; }
.material-check-row label { display:grid; gap:7px; color:var(--glass-muted,#666); }
.material-check-row :is(select,input) { width:100%; height:42px; min-width:0; border-radius:12px; color:var(--glass-ink,#111); }
.material-preferences { min-width:0; padding-top:24px; border-top:1px solid var(--glass-line,#ddd); }
.material-preferences > label { display:grid; grid-template-columns:1fr auto; gap:5px 10px; margin:0 0 14px; align-items:center; }
.material-preferences small { grid-column:1/-1; color:var(--glass-muted,#666); font-size:11px; line-height:1.5; }
.material-preferences > input { width:100%; font-size:12px; }
.material-entry-extra { display:flex; flex-direction:column; gap:14px 24px; }
.material-entry-extra > details[open] { flex-basis:100%; }
.material-entry summary { cursor:pointer; font-size:13px; color:var(--glass-muted,#666); }
.material-ratings > label { display:flex; align-items:center; gap:12px; margin:10px 0; }
.material-entry-columns { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:16px 0; }
.material-entry-columns section { overflow:auto; max-height:48vh; }
.material-entry-columns img { width:100%; height:auto; }
.material-entry-columns pre { white-space:pre-wrap; font-size:12px; }
.material-entry textarea { width:100%; height:48vh; resize:vertical; font:14px/1.7 ui-monospace,monospace; }
.material-entry nav { margin-top:14px; }
.material-entry > progress { width:100%; accent-color:currentColor; margin:12px 0; }
.material-issues { padding:12px 16px 12px 30px; border-radius:12px; background:var(--glass-control,rgba(0,0,0,.035)); margin:16px 0; max-height:120px; overflow:auto; }
.material-entry .material-acknowledgement { font-size:11px; margin:20px 0 0; }
.material-entry footer { margin-top:16px; justify-content:stretch; }
.material-entry footer > button { flex:1; min-height:44px; }
.material-entry .material-entry-primary { background:#111; color:#fff; border-color:#111; font-weight:600; }
@media(max-width:640px) {
  .material-entry { padding:20px 18px; border-radius:8px; }
  .material-entry h2 { font-size:20px; }
  .material-entry-form { grid-template-columns:1fr; gap:24px; }
  .material-entry-columns { grid-template-columns:1fr; }
  .material-entry-columns section { max-height:26vh; }
  .material-entry textarea { height:32vh; }
}
/* 原生 dialog 位于顶层，不跟随首页反色；独立使用夜览材质。 */
html.dark .material-entry { --glass-surface:rgba(30,31,35,.78); --glass-ink:#f1f1f3; --glass-muted:#c4c4cc; --glass-line:rgba(210,210,220,.25); --glass-control:rgba(255,255,255,.08); --glass-shadow:0 24px 72px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.09); color-scheme:dark; }
html.dark .material-entry .material-entry-primary { background:#ececf0; color:#19191d; border-color:#ececf0; }
html.dark .material-entry img { filter:none; }

/* 输入字号保持手机可读，并避免聚焦时浏览器自动放大。 */
.material-entry :is(input,select,textarea) { font-size:16px; }

/* 缺项短暂闪烁后保留黑框，避免持续动画干扰填写。 */
.material-entry [aria-invalid="true"] { outline:2px solid var(--glass-ink,#111); outline-offset:2px; animation:material-required-pulse .65s ease-in-out 3; }
@keyframes material-required-pulse { 50% { outline-color:transparent; } }
@media(prefers-reduced-motion:reduce) { .material-entry [aria-invalid="true"] { animation:none; } }

/* 阻断原因与资料缺失明确用红字显示，夜览保持对比度。 */
.material-entry [role="status"],.material-entry .material-issues { color:#b91c1c; }
html.dark .material-entry [role="status"],html.dark .material-entry .material-issues { color:#fca5a5; }
