
:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: light;
  --bg: #f6f7f9;
  --panel: #ffffff;
  --text: #17202a;
  --muted: #5d6874;
  --border: #d9dee5;
  --accent: #244a73;
  --warn-bg: #fff4d6;
  --warn-text: #5d4300;
  --hold-bg: #fff1f1;
  --hold-text: #7a1f1f;
  --ok-bg: #edf7ef;
  --ok-text: #235d2d;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text); line-height:1.5; }
a { color:var(--accent); }
.skip-link { position:absolute; left:-10000px; top:auto; }
.skip-link:focus { left:1rem; top:1rem; z-index:20; background:#fff; padding:.5rem; }
.release-banner { background:var(--warn-bg); color:var(--warn-text); border-bottom:1px solid #e0c25f; padding:.55rem 1rem; text-align:center; font-weight:700; }
.brand { font-weight:800; letter-spacing:.01em; }
.page-shell { width:min(1180px, calc(100% - 2rem)); margin:1.5rem auto 3rem; }
.hero, .card, .data-card { background:var(--panel); border:1px solid var(--border); border-radius:12px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.hero { padding:1.5rem; margin-bottom:1rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.card { padding:1rem; }
.card h2, .card h3 { margin-top:0; }
.stat { font-size:1.8rem; font-weight:800; }
.muted { color:var(--muted); }
.badge { display:inline-block; border-radius:999px; padding:.22rem .55rem; font-size:.78rem; font-weight:700; border:1px solid var(--border); margin-right:.35rem; margin-bottom:.25rem; }
.badge.clear { background:var(--ok-bg); color:var(--ok-text); }
.badge.hold { background:var(--hold-bg); color:var(--hold-text); }
.badge.tier { background:#eef3f9; color:#294d71; }
.list-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:.65rem; }
.list-link { display:block; padding:.75rem; border:1px solid var(--border); border-radius:9px; background:var(--panel); text-decoration:none; }
.toolbar { display:flex; gap:.75rem; align-items:end; flex-wrap:wrap; margin:1rem 0; }
label { display:grid; gap:.35rem; font-weight:600; }
input, select { font:inherit; border:1px solid var(--border); border-radius:8px; padding:.6rem .7rem; background:#fff; min-width:12rem; }
button { font:inherit; font-weight:700; border:0; border-radius:8px; padding:.62rem .85rem; background:var(--accent); color:#fff; cursor:pointer; }
.data-list { display:grid; gap:.75rem; }
.data-card { padding:1rem; }
.data-card h3 { margin:.1rem 0 .35rem; }
.data-meta { display:flex; flex-wrap:wrap; gap:.4rem; margin:.5rem 0; }
.proposition { font-size:1.03rem; }
.notice { padding:1rem; background:var(--warn-bg); border:1px solid #e0c25f; border-radius:9px; }
.hold-notice { padding:.75rem; background:var(--hold-bg); color:var(--hold-text); border:1px solid #e7bcbc; border-radius:9px; margin:.5rem 0; }
table { border-collapse:collapse; width:100%; background:#fff; }
th, td { border:1px solid var(--border); padding:.55rem; text-align:left; vertical-align:top; }
th { background:#f1f3f6; }
.search-result { border-bottom:1px solid var(--border); padding:.8rem 0; }
.search-result:last-child { border-bottom:0; }
.qa-pass { background:var(--ok-bg); color:var(--ok-text); }
.qa-fail { background:var(--hold-bg); color:var(--hold-text); }
pre { white-space:pre-wrap; word-break:break-word; background:#151a20; color:#f3f5f7; padding:1rem; border-radius:9px; overflow:auto; }
@media (max-width:640px) {
  .page-shell { width:min(100% - 1rem, 1180px); }
}

/* P1012W production-site integration */
.ntd-section-nav {
  width:min(1180px, calc(100% - 2rem));
  margin:.8rem auto 0;
  padding:.65rem .8rem;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .75rem;
  align-items:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel);
}
.ntd-section-nav a {
  text-decoration:none;
  font-weight:700;
  padding:.25rem .35rem;
}
.ntd-section-nav a:hover { text-decoration:underline; }
.ntd-public-page .sitewide-header-v7 { font-family: Georgia, 'Times New Roman', serif; }
.ntd-public-page .sitewide-footer-v1 { font-family: inherit; }
@media (max-width:640px) {
  .ntd-section-nav { width:min(100% - 1rem, 1180px); }
}
