:root { color-scheme: light; font-family: "Microsoft YaHei", system-ui, sans-serif; background:#f4f6f8; color:#17202a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; }
.site-header { display:flex; align-items:center; gap:2rem; padding:.8rem 1.4rem; background:#17324d; color:white; }
.site-header a { color:white; text-decoration:none; margin-right:1rem; }
.brand { font-weight:700; font-size:1.15rem; }
.nav-history { position:relative; display:inline-block; margin-right:1rem; vertical-align:middle; }
.nav-history summary { color:white; cursor:pointer; list-style:none; white-space:nowrap; }
.nav-history summary::-webkit-details-marker { display:none; }
.nav-history summary::after { content:" ▾"; font-size:.8em; }
.nav-history[open] summary::after { content:" ▴"; }
.nav-history summary:focus-visible { outline:2px solid white; outline-offset:3px; }
.nav-history.is-active > summary { font-weight:700; text-decoration:underline; text-underline-offset:.25rem; }
.nav-history__menu { position:absolute; z-index:100; top:calc(100% + .55rem); left:0; min-width:9rem; padding:.4rem; border:1px solid #ffffff40; border-radius:.4rem; background:#17324d; box-shadow:0 .5rem 1.25rem #0005; }
.nav-history:not([open]) > .nav-history__menu { display:none; }
.nav-history[open] > .nav-history__menu { display:grid; }
.site-header .nav-history__menu a { display:block; margin:0; padding:.5rem .65rem; border-radius:.25rem; }
.site-header .nav-history__menu a:hover,.site-header .nav-history__menu a:focus-visible,.site-header .nav-history__menu a.is-active { background:#ffffff24; }
.container { width:100%; max-width:1440px; margin:0 auto; padding:1.2rem; flex:1 0 auto; }
.site-footer { flex:0 0 auto; padding:1rem 1.4rem; color:#5d6875; font-size:.9rem; text-align:center; }
.site-footer a { color:#445b70; text-decoration:none; }
.site-footer a:hover,.site-footer a:focus { text-decoration:underline; }
.site-footer__filings { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem 1.2rem; }
.site-footer__filing { display:inline-flex; align-items:center; gap:.35rem; white-space:nowrap; }
.site-footer__police-icon { display:block; width:18px; height:20px; object-fit:contain; }
.batch-standard-list { display:grid; gap:.65rem; max-width:52rem; margin:.8rem 0; }
.batch-standard-row { display:flex; align-items:flex-end; gap:.65rem; }
.batch-standard-field { display:grid; gap:.3rem; flex:1 1 28rem; }
.batch-standard-field input { width:100%; }
.batch-standard-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:.8rem; }
.batch-standard-add,.batch-standard-remove { display:none; }
.js-enabled .batch-standard-add,.js-enabled .batch-standard-remove { display:inline-block; }
.js-enabled .batch-standard-delete-control { display:none; }
.batch-standard-values { margin:.65rem 0 0; padding-left:1.5rem; }
.card { background:white; border-radius:.55rem; padding:1rem; box-shadow:0 1px 4px #0002; margin-bottom:1rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.table-wrap { overflow:auto; background:white; }
table { border-collapse:collapse; width:100%; }
th,td { border-bottom:1px solid #dfe5eb; padding:.55rem; text-align:left; white-space:nowrap; }
th { background:#edf2f7; position:sticky; top:0; }
input,select,textarea,button { font:inherit; padding:.45rem .55rem; }
button,.button { background:#1769aa; color:white; border:0; border-radius:.3rem; cursor:pointer; text-decoration:none; display:inline-block; }
.button.secondary,button.secondary { background:#66788a; }
.page-actions { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.page-actions h1,.page-actions h2 { margin-top:0; }
.filters { display:flex; gap:.65rem; align-items:end; flex-wrap:wrap; }
.filters label { display:grid; gap:.3rem; }
.panel { background:white; border-radius:.55rem; padding:1rem; box-shadow:0 1px 4px #0002; margin-bottom:1rem; }
.table-scroll { overflow:auto; background:white; }
.task-dialog { width:min(1380px,96vw); max-height:92vh; border:0; border-radius:.65rem; padding:1.1rem; box-shadow:0 1rem 3rem #0005; }
.task-dialog::backdrop { background:#10223599; }
.candidate-order { border:1px solid #dfe5eb; border-radius:.45rem; margin:1rem 0; padding:.75rem; }
.candidate-order h3 { margin:.2rem 0 .75rem; }
.candidate-order input[type="number"] { width:9rem; }
.candidate-order input[name^="supplement_reason"] { min-width:13rem; }
.admin-actions { align-items:start; }
.admin-actions .card { height:100%; }
.metrics-detail strong { color:#445b70; }
dl { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:.45rem 1rem; }
dt { font-weight:700; color:#445b70; }
dd { margin:0; }
.danger { background:#b42318; }
.warning { color:#9a6700; }
.quality-badge { display:inline-block; padding:.2rem .55rem; border-radius:999px; font-weight:700; }
.quality-green { color:#176b3a; background:#dff4e7; }
.quality-yellow { color:#7a5500; background:#fff0bd; }
.quality-red { color:#9f231b; background:#fde1de; }
.quality-grey { color:#53606d; background:#e8edf2; }
.muted { color:#66788a; }
.wrap { white-space:normal; min-width:16rem; }
.errorlist,.message.error { color:#b42318; }
.inline { display:inline; }
.lab-requirement-form { display:grid; gap:1rem; }
.lab-requirement-form > .card,.lab-requirement-form > .requirement-section { margin-bottom:0; }
.requirement-section { border-top:1px solid #dfe5eb; padding-top:1rem; }
.requirement-section:first-of-type { border-top:0; }
.requirement-section h3 { margin:.1rem 0 .75rem; font-size:1.15rem; }
.requirement-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.85rem 1rem; align-items:start; }
.form-field { display:grid; gap:.35rem; min-width:0; }
.form-field--wide { grid-column:span 2; }
.form-field input:not([type="checkbox"]):not([type="radio"]),.form-field select,.form-field textarea { width:100%; max-width:42rem; }
.form-field textarea { resize:vertical; }
.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea { border:2px solid #b42318; }
.field-help { display:block; color:#66788a; line-height:1.5; }
.check-row { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:.75rem 0; }
.check-row label { display:inline-flex; align-items:center; gap:.4rem; }
.input-with-unit { display:flex; align-items:center; gap:.5rem; }
.input-with-unit input { flex:1 1 auto; }
.input-with-unit [data-unit-label] { color:#53606d; white-space:nowrap; }
.rule-panel { margin-top:.85rem; padding:.8rem; border:1px solid #dfe5eb; border-radius:.45rem; background:#f8fafc; }
.rule-editor--enhanced .rule-panel { display:none; }
.rule-editor--enhanced .rule-panel.is-active { display:block; }
.rule-preview { display:grid; gap:.3rem; margin-top:1rem; padding:.85rem 1rem; border-left:4px solid #1769aa; background:#edf6fd; }
.rule-preview__label { color:#445b70; font-size:.9rem; }
.source-details { margin-top:.85rem; padding:.7rem .8rem; border:1px solid #dfe5eb; border-radius:.4rem; }
.source-details summary { cursor:pointer; font-weight:700; color:#445b70; }
.source-details[open] summary { margin-bottom:.8rem; }
.form-actions { display:flex; gap:.65rem; justify-content:flex-start; }
.requirement-delete { display:grid; gap:.35rem; margin-top:.5rem; }
.requirement-delete label { display:grid; gap:.25rem; }
@media (max-width:720px) {
  .site-header { display:block; }
  .site-header nav { margin-top:.7rem; display:flex; align-items:flex-start; gap:.7rem; overflow:auto; }
  .site-header a { margin:0; white-space:nowrap; }
  .nav-history { flex:0 0 auto; margin:0; }
  .nav-history__menu { position:static; margin-top:.4rem; box-shadow:none; }
  .container { padding:.7rem; }
  .page-actions { display:block; }
  .page-actions > * + * { margin-top:.65rem; }
  dl { grid-template-columns:1fr; }
  dd { margin-bottom:.4rem; }
  .batch-standard-row { align-items:stretch; flex-direction:column; }
  .batch-standard-field { flex-basis:auto; width:100%; }
  .form-field--wide { grid-column:span 1; }
}
