:root {
  --ink: #16231e;
  --muted: #68756f;
  --paper: #f6f4ee;
  --surface: #ffffff;
  --green: #174f3c;
  --green-soft: #e7f0eb;
  --lime: #c9e36a;
  --red: #b44d42;
  --red-soft: #f8e9e6;
  --blue: #315f7a;
  --line: #dce1dc;
  --shadow: 0 14px 40px rgba(24, 51, 40, 0.07);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN", system-ui, sans-serif;
}

a { color: inherit; }
button { font: inherit; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid var(--line);
  background: rgba(246, 244, 238, 0.96);
  backdrop-filter: blur(12px);
}

.header-inner {
  min-height: 70px;
  max-width: 1200px;
  margin: auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 38px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-size: 20px;
  font-weight: 800;
}

.brand b {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50% 50% 50% 12%;
  background: var(--green);
  color: white;
  font-family: Georgia, serif;
}

.global-nav { align-self: stretch; display: flex; gap: 18px; }
.global-nav a { display: grid; place-items: center; border-bottom: 2px solid transparent; color: var(--muted); font-size: 14px; text-decoration: none; }
.global-nav a:hover, .global-nav a.active { color: var(--green); border-color: var(--green); font-weight: 700; }
.demo-badge { margin-left: auto; padding: 7px 10px; border-radius: 99px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 700; }
.nav-toggle { display: none; }

.page-shell, .site-footer { max-width: 1200px; margin: auto; padding-inline: 24px; }

.welcome-panel {
  min-height: 300px;
  padding: 62px 0 48px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 40px;
}

.eyebrow, .section-mark { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: 0.16em; }
.eyebrow { margin: 0 0 13px; }
h1 { margin: 0; font: 500 clamp(42px, 6vw, 72px)/1.06 Georgia, "Yu Mincho", serif; letter-spacing: -0.04em; }
h1 em { color: var(--green); font-style: normal; }
.welcome-panel > div > p:last-child, .page-heading > p:last-child { max-width: 630px; margin: 22px 0 0; color: var(--muted); line-height: 1.8; }
.update-summary { min-width: 240px; padding: 18px 0 18px 22px; border-left: 2px solid var(--lime); display: grid; gap: 7px; }
.update-summary span, .update-summary small { color: var(--muted); font-size: 11px; }
.update-summary strong { font-size: 15px; }

.dashboard-grid { padding-bottom: 50px; display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.panel { grid-column: span 4; min-width: 0; padding: 25px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); box-shadow: var(--shadow); }
.panel-wide { grid-column: span 8; }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.panel-heading h2 { margin: 5px 0 0; font: 600 20px/1.3 Georgia, "Yu Mincho", serif; }
.panel-heading > a { color: var(--green); font-size: 12px; text-decoration: none; }
.section-mark.alert { color: var(--red); }
.section-mark.future { color: var(--blue); }
.priority-panel { background: var(--green); border-color: var(--green); color: white; }
.priority-panel p:last-child { color: #cbd9d3; }
.placeholder-title { margin: 0 0 9px; font-weight: 700; }
.panel p { line-height: 1.7; }
.panel p:not(.placeholder-title) { color: var(--muted); font-size: 13px; }
.metric-panel strong { display: block; margin: 30px 0 9px; font: 500 32px Georgia, serif; }
.panel-action { display: inline-block; margin-top: 14px; color: var(--green); font-size: 12px; font-weight: 700; text-decoration: none; }
.future-panel { background: #f1f4f6; }

.news-list { display: grid; }
.news-list a { padding: 14px 0; display: grid; grid-template-columns: 85px 1fr auto; align-items: center; gap: 16px; border-top: 1px solid var(--line); text-decoration: none; }
.news-list time { color: var(--muted); font-size: 11px; }
.news-list span { font-size: 14px; }
.news-list b, .tag { padding: 5px 8px; border-radius: 3px; background: var(--green-soft); color: var(--green); font-size: 10px; }
.simple-list { margin: 0; padding: 0; list-style: none; }
.simple-list li { padding: 13px 0; border-top: 1px solid var(--line); font-size: 13px; }
.simple-list span { display: inline-block; width: 58px; color: var(--muted); font-size: 10px; }

.inner-page { min-height: calc(100vh - 165px); padding-bottom: 55px; }
.page-heading { padding: 58px 0 38px; }
.page-heading h1 { font-size: clamp(38px, 5vw, 58px); }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.filter-row button { padding: 8px 15px; border: 1px solid var(--line); border-radius: 99px; background: white; color: var(--muted); cursor: default; }
.filter-row button.selected { background: var(--green); border-color: var(--green); color: white; }
.article-list article { padding: 25px 0; border-top: 1px solid var(--line); }
.article-list article > div { display: flex; align-items: center; gap: 12px; }
.article-list time { color: var(--muted); font-size: 11px; }
.article-list h2 { margin: 12px 0 7px; font: 600 20px Georgia, "Yu Mincho", serif; }
.article-list p { margin: 0; }
.tag.important { background: var(--red-soft); color: var(--red); }

.summary-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 16px; }
.summary-cards article { padding: 22px; border: 1px solid var(--line); border-radius: 7px; background: white; }
.summary-cards span { display: block; margin-bottom: 12px; color: var(--muted); font-size: 11px; }
.summary-cards strong { font-size: 20px; }
.data-panel { grid-column: auto; }
.provisional { padding: 5px 9px; border-radius: 3px; background: #f4e9c8; color: #765f1c; font-size: 10px; font-weight: 700; }
.chart-placeholder { height: 260px; padding: 25px 6%; display: flex; align-items: end; gap: 6%; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(to bottom, transparent 49%, #edf0ed 50%, transparent 51%); }
.chart-placeholder i { flex: 1; max-width: 80px; background: var(--green); opacity: 0.86; }
.chart-placeholder.shipment i { background: var(--blue); }
.data-note { margin: 18px 0 0; }
.report-toolbar { padding: 14px 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; border: 1px solid var(--line); border-radius: 6px; background: white; }
.report-toolbar label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 12px; }
.report-toolbar select { padding: 7px 28px 7px 9px; border: 1px solid var(--line); border-radius: 4px; background: white; }
.report-toolbar > span { margin-left: auto; color: var(--green); font-size: 11px; font-weight: 700; }
.report-toolbar a { color: var(--green); font-size: 12px; }
.freshness { color: var(--muted); font-size: 11px; }
.report-meta { margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.report-meta span { padding: 7px 10px; border-radius: 3px; background: var(--green-soft); color: var(--green); font-size: 11px; }
.summary-cards.four { grid-template-columns: repeat(4, 1fr); }
.summary-cards small { display: block; margin-top: 8px; color: var(--muted); font-size: 10px; }
.verified { padding: 5px 9px; border-radius: 3px; background: var(--green-soft); color: var(--green); font-size: 10px; font-weight: 700; }
.horizontal-chart { display: grid; gap: 15px; }
.horizontal-chart > div { display: grid; grid-template-columns: 90px 1fr 90px; align-items: center; gap: 12px; font-size: 12px; }
.horizontal-chart i { height: 13px; background: var(--green); border-radius: 2px; }
.horizontal-chart b { text-align: right; }
.analysis-note { margin-top: 28px; padding: 20px; border-left: 3px solid var(--lime); background: var(--green-soft); }
.analysis-note p { margin-bottom: 0; color: var(--ink) !important; }
.chip-list { margin: 15px 0 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.chip-list span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; font-size: 12px; }
.chip-list a { padding: 8px 10px; border: 1px solid var(--line); border-radius: 4px; color: var(--green); background: white; font-size: 12px; text-decoration: none; }
.rights-note { padding: 14px; background: var(--red-soft); color: var(--red) !important; }
.table-panel { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; font-size: 12px; }
.data-table th, .data-table td { padding: 13px 11px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.data-table thead th { background: var(--green-soft); color: var(--green); }
.data-table a { color: var(--green); }
.timeline article { display: grid; grid-template-columns: 150px 1fr; gap: 25px; padding: 20px 0; border-top: 1px solid var(--line); }
.timeline time { color: var(--muted); font-size: 11px; }
.timeline h2 { margin: 0 0 8px; font-size: 16px; }
.timeline p { margin: 0; }
.error-state { color: var(--red) !important; }
.hero-metric { display:block; margin:18px 0 8px; font:600 34px Georgia,serif; }
.inverse-link { color:#fff; font-size:12px; font-weight:700; }

.site-footer { padding-block: 26px 38px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); color: var(--muted); }
.site-footer div { display: grid; gap: 5px; }
.site-footer strong { color: var(--ink); }
.site-footer span, .site-footer small { font-size: 10px; }

@media (max-width: 820px) {
  .header-inner { min-height: 64px; padding-inline: 18px; flex-wrap: wrap; gap: 12px; }
  .nav-toggle { margin-left: auto; padding: 7px 10px; display: block; border: 1px solid var(--line); border-radius: 4px; background: white; color: var(--green); }
  .demo-badge { display: none; }
  .global-nav { width: 100%; height: 0; display: none; align-self: auto; }
  .global-nav.open { height: auto; padding-bottom: 13px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .global-nav a { min-height: 38px; border: 1px solid var(--line); border-radius: 4px; background: white; }
  .page-shell, .site-footer { padding-inline: 18px; }
  .welcome-panel { min-height: 0; padding: 48px 0 34px; display: block; }
  .update-summary { margin-top: 30px; }
  .panel, .panel-wide { grid-column: 1 / -1; }
  .summary-cards { grid-template-columns: 1fr; }
  .summary-cards.four { grid-template-columns: repeat(2, 1fr); }
  .site-footer { align-items: start; flex-direction: column; }
}

@media (max-width: 480px) {
  .news-list a { grid-template-columns: 68px 1fr; gap: 10px; }
  .news-list b { display: none; }
  .chart-placeholder { height: 210px; }
  .summary-cards.four { grid-template-columns: 1fr; }
  .horizontal-chart > div { grid-template-columns: 70px 1fr 70px; }
  .timeline article { grid-template-columns: 1fr; gap: 8px; }
}
.staging-overview{margin-bottom:1rem}.staging-banner{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem 1rem;background:#392b21;color:#fff;border-radius:.5rem}.staging-banner b{font-size:1.15rem}.staging-banner strong{color:#ffd98a}.staging-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;margin-top:1rem}.staging-status-grid span{display:flex;flex-direction:column;gap:.3rem;padding:.7rem;background:#f7f4ef;border:1px solid #e3ddd3;border-radius:.4rem;font-size:.78rem}.staging-status-grid strong{font-size:.9rem;color:#29231e}.preview-links{display:flex;flex-wrap:wrap;gap:.65rem}.preview-links a{padding:.65rem .85rem;border:1px solid #d8c9b7;border-radius:.4rem;background:#fff;text-decoration:none}.raw-preview{white-space:pre-wrap;max-height:60vh;overflow:auto;background:#171717;color:#f4f4f4;padding:1rem;border-radius:.4rem;font-size:.78rem}
.preview-links a{display:flex;flex-direction:column;gap:.2rem}.preview-links small{color:#6e6258}
.shipment-bar{display:grid;grid-template-columns:minmax(80px,140px) 1fr minmax(90px,130px);gap:12px;align-items:center;margin:10px 0}.shipment-bar div{background:#eef1f4;border-radius:999px;height:12px;overflow:hidden}.shipment-bar i{display:block;height:100%;background:linear-gradient(90deg,#b42318,#e9845b);border-radius:999px}.shipment-bar b{text-align:right}@media(max-width:600px){.shipment-bar{grid-template-columns:80px 1fr}.shipment-bar b{grid-column:2;text-align:left}}
