/* =========================================================
   SHITAKU（シタク）— 介護事業所の開業ナビ
   ロゴ（紺の道 ＋ 朝日）に合わせた、信頼感のある紺 × 温かいオレンジ。
   ========================================================= */

:root {
  color-scheme: light;

  --brand: #143a66;
  --brand-dark: #0b2c52;
  --brand-soft: #e9eff7;
  --accent: #e2933a;
  --accent-ink: #935719;
  --accent-soft: #fbecd8;

  --ink: #16273c;
  --ink-soft: #52616f;
  --ink-faint: #7c8894;

  --paper: #ffffff;
  --paper-soft: #f4f6fa;
  --paper-warm: #faf6f0;
  --line: #d8dfe8;
  --line-warm: #e7ded1;

  --danger: #b42318;

  --shadow-xs: 0 1px 2px rgba(11, 30, 55, 0.07);
  --shadow-sm: 0 2px 6px rgba(11, 30, 55, 0.07), 0 8px 24px rgba(11, 30, 55, 0.06);
  --shadow-md: 0 12px 34px rgba(11, 30, 55, 0.12);

  --wrap: 1140px;
  --radius: 14px;
  --radius-sm: 8px;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;

  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

* {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.85;
  letter-spacing: 0.012em;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--brand-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}
a:hover {
  color: var(--brand);
}

h1,
h2,
h3,
h4 {
  margin: 0 0 0.6em;
  line-height: 1.4;
  color: var(--ink);
  font-weight: 700;
  letter-spacing: 0.005em;
}

p {
  margin: 0 0 1.1em;
}

:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
  border-radius: 3px;
}

::selection {
  background: var(--brand-soft);
}

/* ---------- レイアウト ---------- */

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 0 24px;
}

.section {
  padding: clamp(64px, 9vw, 108px) 0;
}
.section--soft {
  background: var(--paper-soft);
}
.section--warm {
  background: var(--paper-warm);
}
.page-narrow {
  padding-top: clamp(28px, 5vw, 44px);
}
.page-narrow .wrap {
  max-width: 780px;
}

.eyebrow {
  margin: 0 0 14px;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.muted {
  color: var(--ink-soft);
}
.small {
  font-size: 0.86rem;
}
.lead {
  font-size: 1.1rem;
  line-height: 1.9;
  color: var(--ink-soft);
}
.lead strong {
  color: var(--ink);
  font-weight: 700;
}

.section-head {
  max-width: 44rem;
  margin: 0 auto clamp(36px, 5vw, 56px);
  text-align: center;
}
.section-head h2 {
  font-size: clamp(1.55rem, 1.2rem + 1.5vw, 2.35rem);
  letter-spacing: -0.02em;
}
.section-head .muted {
  margin: 0;
}

.col-head h2 {
  font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.15rem);
  letter-spacing: -0.02em;
}

.grid-2col {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(40px, 7vw, 96px);
  align-items: start;
}

.fineprint,
.flow__after,
.family__handoff {
  max-width: 62rem;
  margin: clamp(28px, 4vw, 44px) auto 0;
  color: var(--ink-soft);
  font-size: 0.86rem;
  line-height: 1.85;
}
.family__handoff {
  text-align: center;
  font-size: 0.95rem;
}
.family__intro {
  max-width: 62rem;
  margin: clamp(22px, 3vw, 32px) auto clamp(20px, 3vw, 28px);
  color: var(--ink-soft);
  font-size: 0.92rem;
  line-height: 1.85;
  text-align: center;
}

/* ---------- ボタン ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s var(--ease), color 0.15s, transform 0.06s, box-shadow 0.15s;
}
.btn:hover {
  text-decoration: none;
}
.btn:active {
  transform: translateY(1px);
}
.btn--primary {
  background: var(--brand);
  color: #fff;
  box-shadow: var(--shadow-xs);
}
.btn--primary:hover {
  background: var(--brand-dark);
  color: #fff;
}
.btn--ghost {
  background: #fff;
  color: var(--brand-dark);
  border-color: var(--line);
}
.btn--ghost:hover {
  background: var(--paper-soft);
  border-color: var(--brand);
  color: var(--brand-dark);
}
.btn--light {
  background: #fff;
  color: var(--brand-dark);
}
.btn--light:hover {
  background: #eef5f2;
  color: var(--brand-dark);
}
.btn--outline-light {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
}
.btn--outline-light:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  border-color: #fff;
}
.btn--lg {
  min-height: 54px;
  padding: 15px 30px;
  font-size: 1.04rem;
}
.btn--sm {
  min-height: 40px;
  padding: 8px 16px;
  font-size: 0.9rem;
}
.btn--block {
  width: 100%;
}

/* ---------- スキップリンク ---------- */

.skip-link {
  position: absolute;
  left: 12px;
  top: -60px;
  z-index: 200;
  padding: 10px 16px;
  background: var(--brand-dark);
  color: #fff;
  border-radius: 0 0 8px 8px;
  transition: top 0.15s;
}
.skip-link:focus {
  top: 0;
  color: #fff;
}

/* ---------- ヘッダー ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 68px;
}

.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.brand:hover {
  text-decoration: none;
}
.logo {
  display: block;
  height: 30px;
  width: auto;
}
/* 画像ロゴ（縦組み lockup: assets/brand/shitaku-logo.png がある場合） */
.logo--img {
  height: 44px;
  width: auto;
}
.logo--img.logo--footer {
  height: 58px;
}
/* マーク＋文字の横組み lockup（assets/brand/shitaku-mark.png がある場合） */
.logo--lockup {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: auto;
}
.logo__mark-img {
  width: auto;
  height: 34px;
  display: block;
}
.logo__word-text {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 1.32rem;
  letter-spacing: 0.09em;
  color: var(--brand-dark);
  line-height: 1;
}
.logo--lockup.logo--footer .logo__mark-img {
  height: 40px;
}
.logo--lockup.logo--footer .logo__word-text {
  font-size: 1.5rem;
}
.logo__mark {
  fill: var(--brand);
}
.logo__bars rect {
  fill: #fff;
}
.logo__word {
  fill: var(--ink);
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 21px;
  letter-spacing: 1.4px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 26px;
}
.site-nav ul {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-nav ul a {
  color: var(--ink-soft);
  font-size: 0.92rem;
  font-weight: 700;
}
.site-nav ul a:hover {
  color: var(--brand);
  text-decoration: none;
}
.site-nav__cta {
  white-space: nowrap;
}
.site-nav a.site-nav__cta {
  color: #fff;
}

.nav-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 6px 12px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
}
.nav-toggle__bar,
.nav-toggle__bar::before,
.nav-toggle__bar::after {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  background: var(--ink);
  transition: transform 0.2s var(--ease), opacity 0.2s;
}
.nav-toggle__bar {
  position: relative;
}
.nav-toggle__bar::before {
  position: absolute;
  top: -6px;
}
.nav-toggle__bar::after {
  position: absolute;
  top: 6px;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar {
  background: transparent;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::before {
  transform: translateY(6px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar::after {
  transform: translateY(-6px) rotate(-45deg);
}

/* ---------- ヒーロー ---------- */

.hero {
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 7vw, 92px) 0 clamp(44px, 6vw, 76px);
  background:
    radial-gradient(60% 70% at 88% 0%, rgba(226, 147, 58, 0.1), transparent 70%),
    linear-gradient(180deg, var(--brand-soft), #fff 62%);
}
.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: clamp(36px, 6vw, 76px);
  align-items: center;
}
.hero h1 {
  margin: 0 0 22px;
  font-size: clamp(1.8rem, 1.1rem + 2.4vw, 2.6rem);
  line-height: 1.32;
  letter-spacing: -0.02em;
  line-break: strict;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: balance;
}
.hero h1 span {
  display: block;
  color: var(--brand);
}
.hero__lead {
  max-width: 34rem;
  color: var(--ink-soft);
  font-size: clamp(1rem, 0.96rem + 0.3vw, 1.14rem);
  line-height: 1.95;
}
.hero__lead strong {
  color: var(--ink);
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  color: var(--ink-soft);
  font-size: 0.84rem;
  font-weight: 600;
}
.hero__facts li {
  display: flex;
  align-items: center;
  gap: 7px;
}
.hero__facts li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent);
}

.hero__visual {
  position: relative;
}
.hero__visual svg {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 24px 48px rgba(15, 45, 39, 0.14));
}

/* ---------- 帯（前提） ---------- */

.band {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.band--soft {
  background: var(--paper-warm);
  border-color: var(--line-warm);
}
.band__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.band__row p {
  margin: 0;
  padding: 22px 26px;
  color: var(--ink-soft);
  font-size: 0.92rem;
}
.band__row p + p {
  border-left: 1px solid var(--line-warm);
}
.band__row strong {
  display: block;
  margin-bottom: 3px;
  color: var(--ink);
  font-size: 0.82rem;
  letter-spacing: 0.03em;
}

/* ---------- 悩み ---------- */

.pain-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
  counter-reset: pain;
}
.pain-list li {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  gap: 4px 18px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.pain-list li::before {
  counter-increment: pain;
  content: counter(pain, decimal-leading-zero);
  grid-row: 1 / 3;
  color: var(--accent);
  font-weight: 800;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
}
.pain-list h3 {
  margin: 0;
  font-size: 1.04rem;
}
.pain-list p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.93rem;
}

/* ---------- 支援内容 ---------- */

.support-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.support-card {
  display: flex;
  flex-direction: column;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: 2px;
  box-shadow: var(--shadow-sm);
}
.support-card__head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 8px;
}
.support-card__n {
  color: var(--brand);
  font-weight: 800;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
}
.support-card h3 {
  margin: 0;
  font-size: 1.14rem;
  letter-spacing: -0.01em;
}
.support-card__lead {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 600;
}
.support-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}
.support-card li {
  position: relative;
  padding-left: 20px;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.7;
}
.support-card li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border: 1.5px solid var(--brand);
  border-radius: 999px;
}
.support-card__note {
  margin: 16px 0 0;
  padding: 12px 14px;
  background: var(--accent-soft);
  border-radius: 6px;
  color: var(--accent-ink);
  font-size: 0.8rem;
  line-height: 1.7;
}

/* ---------- 流れ ---------- */

.flow {
  max-width: 860px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}
.flow li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 6px 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}
.flow__n {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  background: var(--brand);
  color: #fff;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.9rem;
}
.flow h3 {
  margin: 6px 0 4px;
  font-size: 1.06rem;
}
.flow p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.92rem;
}
.flow__after {
  text-align: center;
}

/* ---------- 選ばれる理由 ---------- */

.reason-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
}
.reason-card {
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
}
.reason-card h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
  color: var(--brand-dark);
  letter-spacing: -0.01em;
}
.reason-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.92rem;
}

/* ---------- ETERNAL系列 ---------- */

.family-flow {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 14px;
  max-width: 760px;
  margin: 0 auto clamp(32px, 5vw, 48px);
}
.family-flow__stage {
  flex: 1;
  padding: 20px 22px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
  text-align: center;
}
.family-flow__stage--now {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.family-flow__stage span {
  display: block;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  opacity: 0.85;
}
.family-flow__stage strong {
  display: block;
  margin: 6px 0 4px;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
}
.family-flow__stage p {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.65;
}
.family-flow__stage--now p {
  color: #e4f1ec;
}
.family-flow__stage:not(.family-flow__stage--now) p {
  color: var(--ink-soft);
}
.family-flow__arrow {
  display: grid;
  place-items: center;
  color: var(--accent);
  font-size: 1.4rem;
  font-weight: 700;
}

.family-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 680px) {
  .family-grid {
    grid-template-columns: 1fr;
  }
}
.family-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
}
.family-card--current {
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand) inset, var(--shadow-sm);
}
.family-card__badge {
  position: absolute;
  top: -10px;
  left: 20px;
  padding: 3px 10px;
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.family-card--soon {
  background: var(--paper-warm, #faf6f0);
  border-style: dashed;
}
.family-card--soon .family-card__mark {
  background: var(--line);
  color: var(--ink-faint);
}
.family-card--soon .family-card__logo {
  opacity: 0.5;
}
.family-card__top {
  display: flex;
  align-items: center;
  gap: 14px;
}
.family-card__top > div {
  min-width: 0;
}
.family-card__logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  object-position: left center;
  flex: 0 0 auto;
}
.family-card__mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  background: var(--accent-soft);
  color: var(--accent-ink);
  border-radius: 10px;
  font-weight: 800;
}
.family-card h3 {
  margin: 0;
  font-size: 1.06rem;
  padding-right: 52px;
}
.family-card__name-sub {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink-faint);
}
.family-card__role {
  margin: 2px 0 0;
  color: var(--ink-soft);
  font-size: 0.8rem;
  font-weight: 700;
}
.family-card__status {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.family-card__status--here {
  background: var(--brand);
  color: #fff;
}
.family-card__status--live {
  background: var(--brand-soft);
  color: var(--brand-dark);
}
.family-card__status--soon {
  background: var(--line);
  color: var(--ink-soft);
}
.family-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.9rem;
}
.family-card__link {
  margin-top: auto;
  font-size: 0.85rem;
  font-weight: 700;
}

/* ---------- FAQ ---------- */

.faq {
  border-top: 1px solid var(--line);
}
.faq details {
  border-bottom: 1px solid var(--line);
}
.faq summary {
  position: relative;
  padding: 20px 44px 20px 0;
  font-weight: 700;
  font-size: 1rem;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  background:
    linear-gradient(var(--brand), var(--brand)) center / 12px 2px no-repeat,
    linear-gradient(var(--brand), var(--brand)) center / 2px 12px no-repeat;
  transition: transform 0.2s var(--ease);
}
.faq details[open] summary::after {
  transform: rotate(45deg);
  background:
    linear-gradient(var(--brand), var(--brand)) center / 12px 2px no-repeat;
}
.faq__a {
  padding: 0 44px 22px 0;
}
.faq__a p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.94rem;
  line-height: 1.9;
}

/* ---------- CTA帯 ---------- */

.cta-band {
  padding: clamp(52px, 7vw, 84px) 0;
  background: var(--brand-dark);
  color: #fff;
}
.cta-band__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(28px, 5vw, 56px);
}
.cta-band h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.2rem);
  letter-spacing: -0.02em;
}
.cta-band p {
  margin: 0;
  max-width: 34rem;
  color: #cfe3dd;
  font-size: 0.98rem;
}
.cta-band .eyebrow {
  color: #8fd3c1;
}
.cta-band__actions {
  display: grid;
  gap: 12px;
  flex: 0 0 auto;
  text-align: center;
}
.cta-band__mail {
  color: #cfe3dd;
  font-size: 0.86rem;
  font-weight: 600;
  word-break: break-all;
}
.cta-band__mail:hover {
  color: #fff;
}

/* ---------- フッター ---------- */

.site-footer {
  background: var(--paper-soft);
  border-top: 1px solid var(--line);
}
.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap: 40px;
  padding-top: 48px;
  padding-bottom: 28px;
}
.site-footer .logo {
  height: 28px;
}
.site-footer__tag {
  margin: 14px 0 10px;
  font-weight: 700;
  color: var(--ink);
}
.site-footer__note {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.85rem;
  line-height: 1.8;
}
.site-footer__nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
.site-footer__nav a {
  color: var(--ink-soft);
  font-size: 0.9rem;
  font-weight: 600;
}
.site-footer__nav a:hover {
  color: var(--brand);
}
.site-footer__contact {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.88rem;
}
.site-footer__legal {
  padding-top: 20px;
  padding-bottom: 40px;
  border-top: 1px solid var(--line);
}
.site-footer__legal p {
  margin: 0 0 6px;
  color: var(--ink-faint);
  font-size: 0.78rem;
  line-height: 1.75;
}
.site-footer__copy {
  font-weight: 600;
}

/* ---------- パンくず・prose ---------- */

.crumb {
  margin-bottom: 18px;
  color: var(--ink-faint);
  font-size: 0.82rem;
}
.crumb a {
  color: var(--ink-faint);
}
.crumb span[aria-hidden] {
  margin: 0 8px;
}

.prose h1 {
  font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.3rem);
  letter-spacing: -0.02em;
}
.prose h2 {
  margin: 2em 0 0.7em;
  padding-top: 0.9em;
  border-top: 1px solid var(--line);
  font-size: 1.2rem;
}
.prose ul {
  margin: 0 0 1.2em;
  padding-left: 1.3em;
}
.prose li {
  margin: 0.35em 0;
}

/* ---------- 連絡フォーム ---------- */

.contact-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin: 26px 0 34px;
}
.contact-card {
  padding: 20px 22px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
}
.contact-card__label {
  margin: 0 0 10px;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
}
.contact-card ul {
  margin: 0;
  padding-left: 1.2em;
  color: var(--ink-soft);
  font-size: 0.9rem;
}
.contact-card li {
  margin: 0.3em 0;
}

.contact-form {
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: 2px;
  box-shadow: var(--shadow-sm);
}
.form-intro {
  margin: 0 0 22px;
  padding: 14px 16px;
  background: var(--brand-soft);
  border-radius: 8px;
  color: var(--ink);
  font-size: 0.88rem;
  line-height: 1.8;
}
.field {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
}
.field label {
  font-weight: 700;
  font-size: 0.92rem;
}
.field input,
.field select,
.field textarea {
  font: inherit;
  width: 100%;
  padding: 11px 13px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.field textarea {
  resize: vertical;
  min-height: 130px;
}
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: 3px solid var(--accent);
  outline-offset: 1px;
  border-color: var(--brand);
}
.field--row {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.field--row > div {
  display: grid;
  gap: 6px;
}
.field--check label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500;
  font-size: 0.9rem;
}
.field--check input {
  width: 20px;
  height: 20px;
  margin-top: 2px;
  accent-color: var(--brand);
}
.field__hint {
  margin: 0;
  color: var(--ink-faint);
  font-size: 0.8rem;
}
.field__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.req {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 6px;
  background: var(--accent-soft);
  color: var(--accent-ink);
  border-radius: 4px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  vertical-align: 1px;
}
.form-note {
  margin: 14px 0 0;
  font-size: 0.86rem;
  min-height: 1.4em;
}
.form-note--err {
  color: var(--danger);
  font-weight: 700;
}
.form-note--ok {
  color: var(--brand-dark);
  font-weight: 700;
}
.form-fineprint {
  margin: 14px 0 0;
  color: var(--ink-faint);
  font-size: 0.78rem;
  line-height: 1.7;
}

/* ---------- スクリーンリーダー専用 ---------- */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.prose-narrow {
  max-width: 720px;
}
.prose-narrow h2 {
  font-size: 1.35rem;
  letter-spacing: -0.01em;
}

/* ---------- 準備中の案内 ---------- */

.launch-note {
  display: flex;
  gap: 10px;
  align-items: baseline;
  max-width: 62rem;
  margin: 0 auto clamp(24px, 4vw, 36px);
  padding: 14px 18px;
  background: var(--accent-soft);
  border: 1px solid var(--line-warm);
  border-radius: 10px;
  color: var(--accent-ink);
  font-size: 0.88rem;
  line-height: 1.75;
}
.launch-note a {
  color: var(--accent-ink);
  font-weight: 700;
  white-space: nowrap;
}

/* ---------- プランカード ---------- */

.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
}
.plan-card--featured {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px var(--brand) inset, var(--shadow-md);
}
.plan-card__badge {
  position: absolute;
  top: -12px;
  left: 24px;
  padding: 4px 12px;
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.plan-card__badge--muted {
  background: var(--accent);
  color: #3d2708;
}
.plan-card__name {
  margin: 6px 0 2px;
  font-size: 1.12rem;
  letter-spacing: 0.02em;
  color: var(--brand-dark);
}
.plan-card__tagline {
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: 0.86rem;
  font-weight: 600;
}
.plan-card__price {
  margin: 0 0 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-size: 1.7rem;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.plan-card__price-note {
  display: block;
  margin-top: 2px;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--ink-faint);
  letter-spacing: 0.02em;
}
.plan-card__lead {
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.8;
}
.plan-card__points {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.plan-card__points li {
  position: relative;
  padding-left: 20px;
  color: var(--ink-soft);
  font-size: 0.86rem;
  line-height: 1.65;
}
.plan-card__points li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 0.55em;
  width: 8px;
  height: 8px;
  border: 1.5px solid var(--brand);
  border-radius: 999px;
}
.plan-card .btn {
  margin-top: auto;
}
.plan-card__footnote {
  margin: 12px 0 0;
  color: var(--ink-faint);
  font-size: 0.76rem;
  line-height: 1.65;
}
.plan-grid__note {
  max-width: 62rem;
  margin: clamp(20px, 3vw, 28px) auto 0;
  color: var(--ink-soft);
  font-size: 0.84rem;
  line-height: 1.8;
  text-align: center;
}

/* ---------- 比較表 ---------- */

.cmp-wrap {
  overflow-x: auto;
  contain: paint;
  margin: 0 auto;
  max-width: 900px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.cmp {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.86rem;
}
.cmp th,
.cmp td {
  padding: 12px 14px;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.cmp thead th {
  background: var(--brand-soft);
  color: var(--brand-dark);
  font-weight: 800;
  letter-spacing: 0.03em;
}
.cmp tbody th[scope="row"] {
  text-align: left;
  font-weight: 600;
  color: var(--ink);
  background: var(--paper-soft);
  white-space: nowrap;
}
.cmp .is-featured {
  background: rgba(20, 58, 102, 0.06);
}
.cmp thead .is-featured {
  background: var(--brand);
  color: #fff;
}
.cmp .cmp-yes {
  color: var(--brand);
  font-weight: 800;
}
.cmp .cmp-no {
  color: var(--ink-faint);
}
.cmp .cmp-price {
  font-weight: 800;
  color: var(--ink);
}
.cmp tbody tr:last-child th,
.cmp tbody tr:last-child td {
  border-bottom: 0;
}

/* ---------- 行わないこと ---------- */

.scope-not {
  margin: 16px 0 18px;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.scope-not li {
  position: relative;
  padding: 10px 14px 10px 38px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink-soft);
  font-size: 0.9rem;
}
.scope-not li::before {
  content: "×";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--danger);
  font-weight: 800;
}

/* ---------- NAVI 画面イメージ（モック） ---------- */

.navi-mock {
  max-width: 460px;
  margin: 0 auto clamp(32px, 5vw, 48px);
}
.navi-mock__screen {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.navi-mock__bar {
  display: flex;
  gap: 6px;
  padding: 10px 14px;
  background: var(--paper-soft);
  border-bottom: 1px solid var(--line);
}
.navi-mock__dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--line);
}
.navi-mock__body {
  padding: 18px 18px 20px;
  display: grid;
  gap: 14px;
}
.navi-mock__row--head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.navi-mock__k {
  margin: 0 0 2px;
  color: var(--ink-faint);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.navi-mock__v {
  margin: 0;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
}
.navi-mock__v span {
  color: var(--ink-faint);
  font-size: 0.8rem;
  font-weight: 600;
}
.navi-mock__pill {
  margin: 0;
  padding: 5px 12px;
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}
.navi-mock__progress {
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.navi-mock__progress-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--ink-soft);
}
.navi-mock__track {
  height: 8px;
  border-radius: 999px;
  background: var(--brand-soft);
  overflow: hidden;
}
.navi-mock__fill {
  height: 100%;
  border-radius: 999px;
  background: var(--accent);
}
.navi-mock__count {
  margin: 8px 0 0;
  color: var(--ink-faint);
  font-size: 0.76rem;
}
.navi-mock__deadline .navi-mock__v {
  font-size: 0.9rem;
}
.navi-mock__deadline .navi-mock__v span {
  color: var(--accent-ink);
}
.navi-mock__today ul {
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.navi-mock__today li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  font-size: 0.86rem;
}
.navi-mock__box {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
  border: 1.5px solid var(--brand);
  border-radius: 4px;
}
.navi-mock figcaption {
  margin-top: 12px;
  color: var(--ink-faint);
  font-size: 0.76rem;
  line-height: 1.6;
  text-align: center;
}

/* ---------- レスポンシブ ---------- */

@media (max-width: 1000px) {
  .hero__grid {
    grid-template-columns: 1fr;
    gap: clamp(28px, 5vw, 40px);
  }
  .hero__copy {
    max-width: 40rem;
  }
  .hero h1 {
    text-wrap: pretty;
  }
  .hero__visual {
    max-width: 480px;
  }
}

@media (max-width: 960px) {
  .grid-2col {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .plan-grid {
    grid-template-columns: 1fr;
    max-width: 460px;
    margin-inline: auto;
  }
  .plan-card--featured {
    order: -1;
  }
  .section-head,
  .col-head {
    text-align: left;
  }
  .section-head {
    margin-left: 0;
  }
  .cta-band__inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .cta-band__actions {
    width: 100%;
  }
  .cta-band__actions .btn {
    width: 100%;
  }
}

@media (max-width: 820px) {
  html {
    scroll-padding-top: 72px;
  }
  .nav-toggle {
    display: inline-flex;
  }
  .site-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 12px 24px 20px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-md);
  }
  .site-nav.is-open {
    display: flex;
  }
  .site-nav ul {
    flex-direction: column;
    gap: 0;
  }
  .site-nav li {
    border-bottom: 1px solid var(--line);
  }
  .site-nav a {
    display: block;
    padding: 14px 2px;
    font-size: 1rem;
  }
  .site-nav__cta {
    margin-top: 12px;
    text-align: center;
  }
  .band__row {
    grid-template-columns: 1fr;
  }
  .band__row p + p {
    border-left: 0;
    border-top: 1px solid var(--line-warm);
  }
  .family-flow {
    flex-direction: column;
  }
  .family-flow__arrow {
    transform: rotate(90deg);
  }
  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 480px) {
  .wrap {
    padding: 0 18px;
  }
  .field--row {
    grid-template-columns: 1fr;
  }
  .hero__actions .btn {
    width: 100%;
  }
  .pain-list li {
    grid-template-columns: 1fr;
  }
  .pain-list li::before {
    grid-row: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* FLOW ENGINEロゴ。中央・文字は固定し、分離した外周リングだけを静かに稼働させる。 */
body .navi-flow-visual::before,
body .navi-flow-visual::after { display:none; }
.navi-flow-logo{display:block;width:100%;height:auto;max-height:178px;overflow:visible;filter:drop-shadow(0 5px 8px rgba(7,26,48,.14));transform:translateZ(0)}
.navi-flow-mark-ring{transform-box:view-box;transform-origin:672px 486px;opacity:.84}
.navi-flow-mark-fixed{filter:drop-shadow(0 2px 2px rgba(8,40,72,.08))}
.navi-flow-mark-ring{animation:navi-flow-logo-spin 8s linear infinite,navi-flow-logo-breathe 4.8s ease-in-out infinite;will-change:transform,opacity}
@keyframes navi-flow-logo-spin{to{transform:rotate(360deg)}}
@keyframes navi-flow-logo-breathe{0%,100%{opacity:.70}50%{opacity:.96}}

/* 開業カレンダーの土曜・日曜・祝日。予定や重要度の色とは競合させない。 */
.navi-mini-day.is-saturday,
.navi-cal-day.is-saturday {
  border-color: #b8d5ee;
  background-color: #f2f8fd;
  color: #1f5f96;
}
.navi-mini-day.is-sunday-holiday,
.navi-cal-day.is-sunday-holiday {
  border-color: #efc7c7;
  background-color: #fff5f5;
  color: #a23b3b;
}
.navi-mini-calendar .is-saturday-key { color: #1f5f96; font-weight: 800; }
.navi-mini-calendar .is-holiday-key { color: #a23b3b; font-weight: 800; }
.navi-cal-day span em { display: block; margin-top: 1px; font-size: .58rem; line-height: 1.15; font-style: normal; font-weight: 700; }
@media (max-width: 500px) { .navi-cal-day span em { display: none; } }

/* =========================================================
   SHITAKU CHECK / SHITAKU NAVI デモ（MVP追加分）
   既存のトークン（--brand #143A66 / --accent #E2933A 等）を踏襲する。
   ========================================================= */

/* ---------- 共通：進捗バー・空状態 ---------- */
.bar-track {
  height: 8px;
  border-radius: 999px;
  background: var(--brand-soft);
  overflow: hidden;
}
.bar-track--sm {
  height: 6px;
}
.bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--accent);
  transition: width 0.25s var(--ease);
}
.empty-note {
  margin: 0;
  padding: 14px 16px;
  background: var(--paper-soft);
  border: 1px dashed var(--line);
  border-radius: 10px;
  color: var(--ink-soft);
  font-size: 0.88rem;
}
.navi-form-error {
  margin: 0 0 18px;
  padding: 12px 16px;
  background: #fdecea;
  border: 1px solid #f3c6c0;
  border-radius: 8px;
  color: var(--danger);
  font-size: 0.88rem;
  font-weight: 700;
}
.navi-form-note {
  margin: 14px 0 0;
  color: var(--ink-faint);
  font-size: 0.8rem;
  line-height: 1.7;
  text-align: center;
}

/* ---------- トップページのデモ導線 ---------- */
.hero__demo-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.hero__demo-links a {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--brand-dark);
}
.hero__demo-links a::before {
  content: "▶";
  margin-right: 6px;
  color: var(--accent);
  font-size: 0.7em;
}
.plan-card__demo-link {
  display: block;
  margin-top: 10px;
  text-align: center;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--brand-dark);
}
.plan-card__demo-link:hover {
  color: var(--brand);
}
.navi-mock__demo-link {
  font-weight: 700;
  white-space: nowrap;
}

/* =========================================================
   SHITAKU CHECK
   ========================================================= */

.check-progress {
  margin: 0 0 30px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: 2px;
  box-shadow: var(--shadow-sm);
}
.check-progress__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.check-progress__label {
  margin: 0;
  font-weight: 800;
  font-size: 0.92rem;
  color: var(--ink);
}
.check-progress__count {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.86rem;
}
.check-progress__count span {
  font-weight: 800;
  color: var(--brand-dark);
}

.check-cat {
  padding: 30px 0;
  border-top: 1px solid var(--line);
}
.check-cat:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.check-cat__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 20px;
}
.check-cat__n {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  margin-top: 2px;
  background: var(--brand);
  color: #fff;
  border-radius: 8px;
  font-weight: 800;
  font-size: 0.86rem;
}
.check-cat__head h2 {
  margin: 0 0 3px;
  font-size: 1.12rem;
}
.check-cat__lead {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.86rem;
}
.check-cat__stat {
  margin: 4px 0 0 auto;
  flex: 0 0 auto;
  padding: 4px 12px;
  background: var(--paper-soft);
  border-radius: 999px;
  color: var(--ink-soft);
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}

.check-q {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
}
.check-q__text {
  display: block;
  margin: 0 0 10px;
  padding: 0;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.96rem;
  line-height: 1.6;
}
.check-q__badge {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  background: var(--accent-soft);
  color: var(--accent-ink);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  vertical-align: 2px;
}
.check-options {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.check-opt {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 11px 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink-soft);
  font-size: 0.84rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  transition: background 0.15s var(--ease), border-color 0.15s, color 0.15s;
}
.check-opt input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
}
.check-opt:hover {
  border-color: var(--brand);
}
.check-opt:has(input:focus-visible) {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}
.check-opt.is-checked,
.check-opt:has(input:checked) {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
.check-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.check-result {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 2px solid var(--brand-soft);
}
.check-result__score {
  text-align: center;
  margin-bottom: 28px;
}
.check-result__score-label {
  margin: 0 0 4px;
  color: var(--brand);
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}
.check-result__score-num {
  margin: 0;
  font-size: clamp(2.4rem, 2rem + 1.6vw, 3.4rem);
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.check-result__score-num span {
  font-size: 0.5em;
  color: var(--ink-faint);
  font-weight: 700;
  margin-left: 2px;
}
.check-result__score-note {
  margin: 4px 0 0;
  color: var(--ink-soft);
  font-size: 0.84rem;
}
.check-result__cats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 24px;
  margin: 0 0 36px;
}
.check-result__cat-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--ink);
}
.check-result__block {
  margin: 0 0 32px;
}
.check-result__block h3 {
  margin: 0 0 12px;
  font-size: 1.02rem;
}
.check-result__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.check-result__jump {
  display: block;
  width: 100%;
  padding: 12px 16px;
  background: var(--accent-soft);
  border: 1px solid var(--line-warm);
  border-radius: 8px;
  color: var(--accent-ink);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.check-result__jump:hover {
  border-color: var(--accent);
}
.check-result__jump-cat {
  display: block;
  margin-bottom: 2px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  opacity: 0.85;
}
.check-result__next {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}
.check-result__next > li {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 10px;
}
.check-result__next-n {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.86rem;
}
.check-result__next-cat {
  margin: 0 0 4px;
  color: var(--ink-faint);
  font-size: 0.74rem;
  font-weight: 700;
}
.check-result__next .check-result__jump {
  background: #fff;
  border-color: var(--line);
  color: var(--ink);
}
.check-result__next .check-result__jump:hover {
  border-color: var(--brand);
  color: var(--brand-dark);
}
.check-result__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 8px;
}
.check-result__fineprint {
  margin: 20px 0 0;
  color: var(--ink-faint);
  font-size: 0.78rem;
  line-height: 1.8;
}

/* =========================================================
   SHITAKU NAVI デモ
   ========================================================= */

.product-intro {
  padding-bottom: 26px;
  background: linear-gradient(135deg, #fff 0%, var(--brand-soft) 100%);
  border-bottom: 1px solid var(--line);
}

/* NAVI account/save status and shared installation guide. */
.access-card { max-width: 720px; margin: 0 auto; padding: clamp(24px, 5vw, 48px); }
.access-card h1 { margin-top: .35rem; }
.steps-list { margin: 1.5rem 0; padding-left: 1.5rem; }
.steps-list li { margin: .75rem 0; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; }
.access-card .muted { color: #526170; font-size: .95rem; }
.auth-page { min-height: 70vh; display: grid; align-items: center; }
.auth-card { max-width: 620px; margin: 0 auto; padding: clamp(24px, 5vw, 44px); }
.auth-card h1 { margin: .35rem 0 .8rem; }
.auth-form { display: grid; gap: 16px; margin-top: 24px; }
.auth-form label { display: grid; gap: 7px; color: #243746; font-weight: 700; }
.auth-form input { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #aebbc5; border-radius: 10px; background: #fff; color: #172733; font: inherit; }
.auth-form input:focus { outline: 3px solid rgba(46, 116, 109, .18); border-color: #2e746d; }
.navi-account-change { display: grid; gap: 10px; width: min(100%, 420px); padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.navi-account-change__title { margin: 0; font-weight: 800; color: #183d39; }
.navi-account-change label { display: grid; gap: 5px; font-weight: 700; color: #243746; }
.navi-account-change input { width: 100%; min-height: 44px; padding: 9px 10px; border: 1px solid #aebbc5; border-radius: 9px; font: inherit; }
.auth-note { min-height: 1.5em; margin: 14px 0 0; }
.auth-note.is-error { color: #a13b32; }
.auth-note.is-ok { color: #25645e; }
.auth-links { margin: 16px 0 0; text-align: center; }
.auth-links--sub { color: #526170; font-size: .88rem; }
.recovery-result { margin-top: 22px; padding: 20px; border: 1px solid #9fc3bb; border-radius: 14px; background: #f1f8f6; }
.recovery-result h2 { margin-top: 0; font-size: 1.25rem; }
.recovery-code { display: block; margin: 16px 0; padding: 14px 10px; border: 1px dashed #527f78; border-radius: 10px; background: #fff; color: #173b37; font: 700 clamp(1rem, 4vw, 1.35rem)/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; text-align: center; overflow-wrap: anywhere; }
@media (max-width: 600px) { .auth-page { align-items: start; } .auth-card { padding: 22px 18px; } .recovery-result .button-row { display: grid; } }
.navi-sync { display:flex; align-items:center; justify-content:flex-end; gap:10px; min-height:34px; border:0; background:transparent; padding:2px 0; margin:0 0 6px; overflow-wrap:anywhere; color:var(--ink-soft); }
.navi-sync > p { margin:0; font-size:.78rem; white-space:nowrap; }
.navi-sync > p.is-saved::before { content:"✓ "; color:#28734a; font-weight:800; }
.navi-sync > p.is-saving::before { content:"• "; color:#b47b2b; font-weight:800; }
.navi-sync > details { margin:0; font-size:.78rem; }
.navi-sync > details > summary { min-height:32px; display:inline-flex; align-items:center; padding:2px 8px; border:1px solid var(--line); border-radius:7px; background:#fff; cursor:pointer; }
.navi-sync > details[open] { flex:1 1 100%; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.navi-sync > details[open] > summary { margin-bottom:8px; }
.navi-sync-actions, #navi-install-tools { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:12px; }
.navi-sync-actions .btn, #navi-install-tools .btn { white-space:normal; min-height:44px; font-size:1rem; }
.navi-sync .navi-sync-actions { justify-content:flex-end; margin:4px 0 0; }
.navi-sync .navi-sync-actions .btn { min-height:36px; padding:6px 10px; font-size:.82rem; }
.navi-install-notice { flex:1 1 100%; padding:16px; border-left:4px solid var(--accent); background:var(--brand-soft); }
.navi-install-notice .btn { margin-right:10px; }
.navi-install-direct { flex:1 1 100%; padding:20px; border:2px solid var(--brand); border-radius:var(--radius); background:var(--paper); }
#navi-install-tools .navi-install-primary { min-height:56px; font-size:1.125rem; }
.navi-install-direct p { margin:12px 0 0; }
.navi-app-header { display:none; }
.product-workspace-section { padding-top:18px; }
.product-workspace-section > .wrap { position:relative; }
.navi-cockpit-title { display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1.65rem; }
.navi-cockpit-title img { width:42px;height:42px;object-fit:contain; }
.navi-cockpit-title span { display:flex;flex-direction:column; }
.navi-cockpit-title small { margin-top:1px;color:var(--ink-soft);font-size:.7rem;letter-spacing:.08em; }
.navi-command-glance { display:grid;gap:5px;margin:5px 0 0;padding:7px 9px;border:1px solid #dce5e1;border-radius:9px;background:#f8faf9; }
.navi-command-glance > div { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.navi-command-glance > div > span { color:var(--ink-soft);font-size:.76rem;font-weight:800;white-space:nowrap; }
.navi-command-glance nav { display:flex;gap:4px; }
.navi-command-glance button { min-height:27px;padding:3px 7px;border:1px solid #d2dfda;border-radius:6px;background:#fff;color:var(--ink);font:inherit;font-size:.73rem;cursor:pointer; }
.navi-command-glance button strong { color:var(--brand);font-size:.82rem; }
.navi-command-glance > small { color:var(--ink-faint);font-size:.68rem;text-align:right; }
.navi-app-brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; font-size:1.25rem; font-weight:800; }
.navi-app-brand small { display:block; color:var(--ink-soft); font-size:1rem; font-weight:400; }
.navi-app-nav { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.navi-app-nav a,.navi-app-nav button { display:flex; justify-content:center; align-items:center; padding:10px 16px; min-height:48px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper-soft); color:var(--brand-dark); font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.navi-app-nav a:hover,.navi-app-nav button:hover,.navi-app-nav [aria-current] { background:var(--brand-soft); border-color:var(--brand); }
#navi-menu-status { margin:12px 0 0; }
.navi-app-footer { padding:28px 0; border-top:1px solid var(--line); background:var(--paper); }
.navi-app-footer p { margin-bottom:8px; font-weight:700; }
.navi-app-footer .navi-footer-brand { display:flex;align-items:center;gap:9px;margin:0 0 12px; }
.navi-footer-brand img { width:36px;height:36px;object-fit:contain; }
.navi-footer-brand span { display:flex;flex-direction:column;font-weight:900;letter-spacing:.02em; }
.navi-footer-brand small { color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:0; }
.navi-app-footer nav { display:flex; flex-wrap:wrap; gap:8px 24px; margin-bottom:12px; }
.navi-app-footer a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:600px) { .navi-app-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .navi-app-nav a,.navi-app-nav button { padding:10px 6px; font-size:1rem; } #navi-install-tools .navi-install-primary { width:100%; } }
@media print { .navi-app-header,.navi-app-footer { display:none!important; } }
.navi-install-dialog { width:min(640px,94vw); max-width:94vw; max-height:90dvh; overflow:auto; padding:24px; border:1px solid var(--line); border-radius:14px; font:1rem/1.8 var(--font-sans); color:var(--ink); }
.navi-install-dialog::backdrop { background:#10223899; }
.navi-install-dialog h2 { font-size:1.5rem; }
.navi-install-dialog label { display:block; }
.navi-install-dialog input,.navi-install-dialog select { display:block; width:100%; min-width:0; min-height:48px; font:inherit; padding:10px; border:1px solid var(--line); margin:8px 0 16px; }
.navi-install-dialog li { margin:12px 0; }
.navi-install-dialog .btn { min-height:48px; margin:6px; font-size:1rem; white-space:normal; }
@media print { .navi-sync,#navi-install-tools,.navi-install-dialog { display:none!important; } }
.product-intro .lead { max-width: 760px; }
.product-scope-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  max-width: 880px;
  margin-top: 22px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.7;
}
.product-scope-note strong { color: var(--ink); white-space: nowrap; }
.product-workspace-section { padding-top: 30px; }
.navi-head-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.navi-import-label { cursor: pointer; }
.navi-import-label input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.navi-setup {
  max-width: 620px;
  margin: 0 auto;
}
.navi-setup h1 {
  margin: 4px 0 10px;
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem);
}
.navi-setup form {
  margin-top: 24px;
  padding: 26px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: 2px;
  box-shadow: var(--shadow-sm);
}
.navi-flags {
  margin: 0 0 22px;
  padding: 0;
  border: 0;
}
.navi-flags legend {
  padding: 0 0 10px;
  font-weight: 700;
  font-size: 0.92rem;
  color: var(--ink);
}
.navi-flags__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}
.navi-flag {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 9px 10px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
}
.navi-flag input {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--brand);
  flex: 0 0 auto;
}

.navi-dashboard {
  max-width: 980px;
  margin: 0 auto;
}
.navi-daily { margin: 16px 0; }
.navi-sync { padding: 8px 12px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; }
.navi-sync > p { margin: 0; }
.navi-sync > details { margin-left: auto; }
.navi-app-header > .wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.navi-app-brand small { display: none; }
.navi-app-header:has(details[open]) > .wrap { display: block; }
.navi-about { font-size: 1rem; }
.navi-app-header summary, .navi-about > summary, .navi-sync summary { min-height: 44px; padding: 10px 0; cursor: pointer; }
.product-workspace-section { padding-top: 12px; }
.navi-daily h2 { margin-top: 8px; }
.navi-daily-step { color: var(--ink-soft); font-size: 1rem; }
.navi-guide-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.navi-guide-actions .btn { min-height: 48px; white-space: normal; }
.navi-daily .navi-master-note { background: #f7f9fb; }
.navi-daily select, .navi-daily input, .navi-daily textarea { max-width: 100%; min-height: 44px; font-size: 16px; }
#navi-focus { scroll-margin-top: 80px; }
#navi-focus > .navi-task { border: 0; box-shadow: none; }
#navi-focus .navi-task__body { padding: 14px 0; }
.navi-daily .navi-today-item__meta:empty, .navi-daily [role="status"]:empty { display: none; }
@media (max-width: 560px) {
  .navi-daily { padding: 16px; }
  .navi-guide-actions .btn { flex: 1 1 140px; font-size: 1rem; }
  .navi-daily .navi-master-note { padding: 12px; }
  .navi-daily p, .navi-daily li { overflow-wrap: anywhere; }
  .product-intro:has(+ .product-workspace-section) { padding: 12px 0; }
}
.navi-dash-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.navi-dash-head h1 {
  margin: 2px 0 6px;
  font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.8rem);
}
.navi-jump-nav {
  display: flex;
  gap: 8px;
  margin: 14px 0 2px;
  padding: 4px 0;
  overflow-x: auto;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}
.navi-jump-nav a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}
.navi-jump-nav a:hover,
.navi-jump-nav a:focus-visible {
  border-color: var(--brand);
  color: var(--brand);
}
#navi-today,
#navi-readiness-title,
#navi-operations-title,
#navi-exports-title,
#navi-task-list-title {
  scroll-margin-top: 84px;
}
.navi-dash-setup {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.86rem;
  font-weight: 600;
}
.navi-confirm {
  margin: 14px 0 0;
  padding: 16px 18px;
  background: var(--accent-soft);
  border: 1px solid var(--line-warm);
  border-radius: 10px;
}
.navi-confirm p {
  margin: 0 0 10px;
  color: var(--accent-ink);
  font-size: 0.88rem;
  font-weight: 600;
}
.navi-confirm__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.navi-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0 16px;
}
.navi-stat {
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-xs);
}
.navi-stat__k {
  margin: 0 0 4px;
  color: var(--ink-faint);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.navi-stat__v {
  margin: 0;
  color: var(--ink);
  font-size: 1.06rem;
  font-weight: 800;
  line-height: 1.4;
}
.navi-stat__v--accent {
  color: var(--accent-ink);
}
.navi-stat__v--sm {
  font-size: 0.86rem;
  font-weight: 700;
}
.navi-overall-track {
  height: 10px;
  margin-bottom: 30px;
}

.navi-timeline {
  margin: 0 0 34px;
}
.navi-timeline__track {
  position: relative;
  height: 34px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: visible;
}
.navi-timeline__seg {
  position: absolute;
  top: 0;
  bottom: 0;
  background: var(--brand-soft);
  border-right: 1px solid #fff;
}
.navi-timeline__seg:nth-child(odd) {
  background: rgba(20, 58, 102, 0.1);
}
.navi-timeline__marker {
  position: absolute;
  top: -4px;
  bottom: -4px;
  width: 2px;
  background: var(--brand);
}
.navi-timeline__marker span {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  padding: 1px 7px;
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  white-space: nowrap;
}
.navi-timeline__marker--today {
  background: var(--accent);
}
.navi-timeline__marker--today span {
  top: auto;
  bottom: -20px;
  background: var(--accent);
  color: #3d2708;
}
.navi-timeline__labels {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  color: var(--ink-faint);
  font-size: 0.72rem;
}

.navi-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 40px;
}
.navi-panel {
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
}
.navi-panel h2 {
  margin: 0 0 14px;
  font-size: 0.98rem;
}
.navi-panel__lead {
  margin: -6px 0 14px;
  color: var(--ink-faint);
  font-size: 0.78rem;
  line-height: 1.6;
}
.navi-action-overview {
  margin-top: -22px;
}
.navi-risk-panel {
  margin: -22px 0 34px;
}
.navi-risk-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.navi-risk-list li {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  background: #fff8e8;
  border: 1px solid var(--line-warm);
  border-radius: 8px;
  color: var(--ink-soft);
  font-size: 0.8rem;
  line-height: 1.55;
}
.navi-risk-list strong {
  color: var(--accent-ink);
  font-size: 0.88rem;
}
.navi-risk-list__action {
  color: var(--ink);
  font-weight: 700;
}
.navi-readiness {
  margin-bottom: 36px;
}
.navi-readiness__lead {
  max-width: 800px;
  margin: -10px 0 16px;
  color: var(--ink-faint);
  font-size: 0.8rem;
  line-height: 1.7;
}
.navi-readiness-summary {
  display: grid;
  gap: 5px;
  margin-bottom: 12px;
  padding: 16px 18px;
  border: 1px solid var(--line-warm);
  border-radius: var(--radius-sm);
  background: #fff8e8;
  color: var(--accent-ink);
}
.navi-readiness-summary--ready {
  border-color: #bad8c5;
  background: #eff8f2;
  color: #205a34;
}
.navi-readiness-summary span {
  font-size: 0.78rem;
  color: var(--ink-soft);
}
.navi-readiness-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.navi-readiness-item {
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--ink-faint);
  border-radius: 8px;
  background: #fff;
}
.navi-readiness-item--ready {
  border-left-color: #397a50;
}
.navi-readiness-item--progress {
  border-left-color: #2878a8;
}
.navi-readiness-item--attention {
  border-left-color: var(--accent);
}
.navi-readiness-item > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.navi-readiness-item__label {
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 800;
}
.navi-readiness-item__state {
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--paper-soft);
  color: var(--ink-soft);
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}
.navi-readiness-item p {
  margin: 7px 0 0;
  color: var(--ink-soft);
  font-size: 0.76rem;
  line-height: 1.55;
}
.navi-readiness-attention { margin:0 0 14px; padding:14px; border:1px solid #e4c78a; border-radius:10px; background:#fffdf7; }
.navi-readiness-attention h3 { margin:0 0 10px; font-size:1rem; }
.navi-readiness-attention > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; }
.navi-readiness-attention button { display:grid; grid-template-columns:1fr auto; gap:3px 10px; width:100%; padding:10px 12px; border:1px solid var(--line-warm); border-radius:8px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }
.navi-readiness-attention button strong { font-size:.9rem; }
.navi-readiness-attention button span { grid-column:1; color:var(--ink-soft); font-size:.78rem; line-height:1.45; }
.navi-readiness-attention button em { grid-column:2; grid-row:1/3; align-self:center; color:var(--brand); font-size:.78rem; font-style:normal; font-weight:800; }
.navi-readiness-item > button { margin-top:8px; padding:5px 8px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--brand); font:inherit; font-size:.76rem; font-weight:700; cursor:pointer; }
.navi-operations {
  margin-bottom: 36px;
}
.navi-operation-panel {
  margin-bottom: 10px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}
.navi-operation-panel > summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 17px;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
}
.navi-operation-panel > summary span {
  color: var(--ink-faint);
  font-size: 0.72rem;
  font-weight: 600;
  text-align: right;
}
.navi-operation-panel__body {
  padding: 0 17px 18px;
  border-top: 1px solid var(--line);
}
.navi-operation-panel__body h4 {
  margin: 18px 0 10px;
  color: var(--ink);
  font-size: 0.84rem;
}
.navi-finance-summary {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 9px;
  margin: 16px 0;
}
.navi-finance-summary div,
.navi-cashflow {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  background: var(--paper-soft);
  border-radius: 7px;
}
.navi-finance-summary span,
.navi-cashflow span {
  color: var(--ink-faint);
  font-size: 0.68rem;
}
.navi-finance-summary strong,
.navi-cashflow strong {
  color: var(--ink);
  font-size: 0.9rem;
}
.navi-money-grid,
.navi-infrastructure-grid,
.navi-candidate-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(170px,1fr));
  gap: 9px;
}
.navi-money-field,
.navi-infrastructure-grid label,
.navi-candidate-grid label {
  display: grid;
  gap: 5px;
  color: var(--ink-soft);
  font-size: 0.72rem;
  font-weight: 700;
}
.navi-money-field input,
.navi-infrastructure-grid select,
.navi-candidate-grid input,
.navi-candidate-grid select {
  width: 100%;
  min-height: 44px;
  padding: 8px 9px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
}
.navi-money-field--funds {
  max-width: 240px;
}
.navi-cashflow {
  margin: 16px 0 10px;
  background: var(--brand-soft);
}
.navi-cashflow strong {
  font-size: 1.05rem;
}
.is-negative {
  color: var(--danger) !important;
}
.navi-table-wrap {
  overflow-x: auto;
}
.navi-mini-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.76rem;
}
.navi-mini-table th,
.navi-mini-table td {
  padding: 8px 9px;
  border-bottom: 1px solid var(--line);
  text-align: right;
  white-space: nowrap;
}
.navi-mini-table th:first-child {
  text-align: left;
}
.navi-operation-note {
  margin: 12px 0 0;
  color: var(--ink-faint);
  font-size: 0.72rem;
  line-height: 1.6;
}
.navi-candidate {
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
}
.navi-candidate > summary {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}
.navi-candidate > summary span {
  color: var(--ink-faint);
  font-size: 0.7rem;
}
.navi-candidate-grid {
  padding: 0 12px 12px;
}
.navi-infrastructure-grid {
  margin-top: 16px;
}
.navi-application-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 16px 0 12px;
  padding: 12px 14px;
  background: var(--brand-soft);
  border-radius: 7px;
  color: var(--ink);
  font-size: 0.78rem;
}
.navi-application-grid,
.navi-consultation-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.navi-application-grid label,
.navi-consultation-grid label {
  display: grid;
  gap: 5px;
  color: var(--ink-soft);
  font-size: 0.72rem;
  font-weight: 700;
}
.navi-application-grid input:not([type="checkbox"]),
.navi-application-grid select,
.navi-consultation-grid input,
.navi-consultation-grid textarea {
  width: 100%;
  min-height: 44px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.82rem;
}
.navi-check-field {
  display: flex !important;
  grid-column: 1 / -1;
  align-items: center;
  gap: 8px !important;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--paper-soft);
}
.navi-check-field input {
  width: 18px;
  height: 18px;
}
.navi-wide-field {
  grid-column: 1 / -1;
}
.navi-derived-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 13px 0;
}
.navi-derived-checks span {
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--paper-soft);
  color: var(--ink-soft);
  font-size: 0.7rem;
  font-weight: 700;
}
.navi-derived-checks__ready {
  background: #eff8f2 !important;
  color: #205a34 !important;
}
.navi-derived-checks__attention {
  background: #fff8e8 !important;
  color: var(--accent-ink) !important;
}
.navi-freshness-warning {
  margin: 0 0 12px;
  padding: 9px 11px;
  border: 1px solid var(--line-warm);
  border-radius: 7px;
  background: #fff8e8;
  color: var(--accent-ink);
  font-size: 0.76rem;
  font-weight: 700;
}
.navi-consultation-grid {
  padding: 0 12px 12px;
}
.navi-exports {
  margin-bottom: 36px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  overflow: hidden;
}
.navi-exports > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 14px 18px;
  cursor: pointer;
  color: var(--ink);
  font-weight: 800;
}
.navi-exports > summary small {
  color: var(--ink-soft);
  font-size: 0.72rem;
  font-weight: 700;
}
.navi-exports[open] > summary {
  border-bottom: 1px solid var(--line);
}
.navi-exports__body {
  padding: 16px 18px 18px;
}
.navi-export-list {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 8px;
}
.navi-export-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 50px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--paper-soft);
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 700;
}
.navi-export-item label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.navi-export-item input {
  width: 18px;
  height: 18px;
}
.navi-export-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}
.navi-export-actions p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.76rem;
}
@media (max-width: 640px) {
  .navi-finance-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .navi-operation-panel > summary {
    display: grid;
  }
  .navi-operation-panel > summary span {
    text-align: left;
  }
  .navi-application-summary {
    display: grid;
  }
  .navi-application-grid,
  .navi-consultation-grid {
    grid-template-columns: 1fr;
  }
  .navi-export-item {
    flex-direction: column;
    align-items: flex-start;
  }
  .navi-export-item .btn,
  .navi-export-actions .btn {
    width: 100%;
    min-height: 44px;
  }
  .navi-exports > summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .navi-export-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}
.navi-today-list,
.navi-overdue-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}
.navi-today-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  background: var(--paper-soft);
  border: 1px solid transparent;
  border-radius: 8px;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.navi-today-item:hover {
  border-color: var(--brand);
}
.navi-today-item__body {
  display: block;
  min-width: 0;
}
.navi-today-item__title {
  display: block;
  color: var(--ink);
  font-size: 0.88rem;
  font-weight: 700;
}
.navi-today-item__meta {
  display: block;
  margin-top: 2px;
  color: var(--ink-faint);
  font-size: 0.76rem;
}
.navi-overdue-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  background: #fdecea;
  border: 1px solid #f3c6c0;
  border-radius: 8px;
  color: var(--danger);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}
.navi-overdue-item__days {
  flex: 0 0 auto;
  font-size: 0.76rem;
  white-space: nowrap;
}
.navi-overdue-more {
  padding: 4px 12px;
  color: var(--ink-faint);
  font-size: 0.78rem;
}

.navi-status-dot {
  display: inline-block;
  flex: 0 0 auto;
  width: 11px;
  height: 11px;
  margin-top: 3px;
  border-radius: 999px;
  border: 2px solid var(--line);
  background: #fff;
}
.navi-status-dot--not_started {
  border-color: var(--ink-faint);
  background: #fff;
}
.navi-status-dot--in_progress {
  border-color: var(--accent);
  background: var(--accent);
}
.navi-status-dot--waiting {
  border-color: #8a6fbf;
  background: #8a6fbf;
}
.navi-status-dot--applied {
  border-color: #2878a8;
  background: #2878a8;
}
.navi-status-dot--on_hold {
  border-color: #7b6b58;
  background: #7b6b58;
}
.navi-status-dot--done {
  border-color: var(--brand);
  background: var(--brand);
}

.navi-section-title {
  margin: 0 0 18px;
  font-size: 1.12rem;
}
.navi-area-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 36px;
}
.navi-area-card {
  display: grid;
  gap: 8px;
  padding: 15px 16px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}
.navi-area-card__title {
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 800;
}
.navi-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-bottom: 40px;
}
.navi-cat-card {
  display: grid;
  gap: 8px;
  padding: 18px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-xs);
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.navi-cat-card:hover {
  border-color: var(--brand);
}
.navi-cat-card__n {
  color: var(--brand);
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.05em;
}
.navi-cat-card__title {
  display: block;
  margin-top: -4px;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.94rem;
}
.navi-cat-card__stat {
  color: var(--ink-faint);
  font-size: 0.76rem;
}

.navi-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 16px;
}
.navi-filter-overview { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin:0 0 12px; }
.navi-filter-overview button { display:grid; gap:2px; min-height:58px; padding:8px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); cursor:pointer; }
.navi-filter-overview button:hover,.navi-filter-overview button:focus-visible { border-color:var(--brand); }
.navi-filter-overview strong { font-size:1.1rem; }
.navi-filter-overview span,.navi-filter-result { color:var(--ink-soft); font-size:.78rem; }
.navi-filter-result { margin:-6px 0 12px; font-weight:700; }
.navi-filter-bar select {
  font: inherit;
  padding: 9px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
}

.navi-task-list {
  display: grid;
  gap: 10px;
}
.navi-task {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-xs);
}
.navi-task[open] {
  box-shadow: var(--shadow-sm);
}
.navi-task--overdue {
  border-color: #f3c6c0;
}
.navi-task__summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.navi-task__summary::-webkit-details-marker {
  display: none;
}
.navi-task__title {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.92rem;
}
.navi-task__cat {
  flex: 0 0 auto;
  padding: 2px 10px;
  background: var(--brand-soft);
  border-radius: 999px;
  color: var(--brand-dark);
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}
.navi-task__date {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}
.navi-task__rel {
  color: var(--ink-faint);
  font-size: 0.72rem;
  font-weight: 600;
}
.navi-task--overdue .navi-task__rel {
  color: var(--danger);
}
.navi-task__body {
  padding: 0 18px 20px 42px;
  display: grid;
  gap: 10px;
}
.navi-task__body p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.75;
}
.navi-task__body strong {
  color: var(--ink);
}
.navi-task__link a {
  font-weight: 700;
}
.navi-task__region {
  padding: 10px 14px;
  background: var(--accent-soft);
  border-radius: 8px;
  color: var(--accent-ink) !important;
}
.navi-task__region strong {
  color: var(--accent-ink);
}
.navi-task__deliverable,
.navi-task__dependency {
  padding: 10px 14px;
  background: var(--paper-soft);
  border-radius: 8px;
}
.navi-task__guide {
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  font-size: 0.88rem;
}
.navi-task__guide ul { margin: 8px 0 0; padding-left: 1.25rem; }
.navi-task__guide li + li { margin-top: 4px; }
.navi-task__row {
  margin-top: 4px;
}
.navi-task__row label {
  display: block;
  margin-bottom: 5px;
  color: var(--ink);
  font-weight: 700;
  font-size: 0.84rem;
}
.navi-task__row select,
.navi-task__row textarea {
  font: inherit;
  width: 100%;
  padding: 9px 12px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.navi-task__row textarea {
  resize: vertical;
  min-height: 56px;
}
.navi-task__row select:focus,
.navi-task__row textarea:focus {
  outline: 3px solid var(--accent);
  outline-offset: 1px;
  border-color: var(--brand);
}

/* ---------- レスポンシブ（CHECK / NAVI） ---------- */
@media (max-width: 820px) {
  .check-result__cats {
    grid-template-columns: 1fr;
  }
  .navi-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .navi-two-col {
    grid-template-columns: 1fr;
  }
  .navi-flags__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .product-scope-note { grid-template-columns: 1fr; }
  .navi-head-actions { width: 100%; justify-content: flex-start; }
  .check-options {
    grid-template-columns: repeat(2, 1fr);
  }
  .check-cat__head {
    flex-wrap: wrap;
  }
  .check-cat__stat {
    margin-left: 46px;
  }
  .navi-stat-grid {
    grid-template-columns: 1fr;
  }
  .navi-task__summary {
    flex-wrap: wrap;
  }
  .navi-task__cat {
    order: 3;
  }
  .navi-task__date {
    align-items: flex-start;
    flex-direction: row;
    gap: 8px;
    order: 4;
    margin-left: 23px;
  }
  .navi-task__body {
    padding-left: 18px;
  }
}

/* ---------- 全国共通マスターの確認情報 ---------- */
.navi-master-note { padding: 1rem; margin: 1rem 0; background: #edf3f9; border-radius: .5rem; }
.navi-master-note p, .navi-extra-guide p { overflow-wrap: anywhere; }
.navi-master-note input, .navi-task__body input[type="date"] { display: block; max-width: 100%; min-width: 0; min-height: 44px; font: inherit; padding: .5rem; margin: .35rem 0 1rem; }
.navi-extra-guide { margin: 1rem 0; }
.navi-date-list { display: grid; gap: .45rem; margin: .75rem 0; }
.navi-date-list > div { display: grid; grid-template-columns: minmax(7.5rem, auto) 1fr; gap: .75rem; padding: .55rem .65rem; background: #f7f9fb; border-radius: .4rem; }
.navi-date-list dt { font-weight: 700; }
.navi-date-list dd { margin: 0; }
.navi-extra-guide summary, .navi-master-note summary { min-height: 44px; padding: .5rem 0; cursor: pointer; }
.navi-status-dot--not_applicable { background: #667085; }
/* ---------- スマホ最適化（購入者版NAVI） ---------- */
@media (max-width: 560px) {
  html {
    font-size: 17px;
  }

  body {
    overflow-x: clip;
  }

  .wrap {
    padding-inline: 16px;
  }

  .site-header__inner {
    min-height: 64px;
  }

  .brand,
  .nav-toggle {
    min-height: 44px;
  }

  .nav-toggle,
  .site-nav a {
    font-size: 1rem;
  }

  .product-intro {
    padding: 30px 0 26px;
  }

  .product-intro h1 {
    font-size: clamp(1.85rem, 9vw, 2.25rem);
  }

  .product-intro .lead,
  .product-scope-note,
  .navi-setup > .muted,
  .navi-form-error,
  .navi-form-note,
  .field label,
  .field__hint,
  .navi-flags legend,
  .navi-flag,
  .navi-dash-setup,
  .navi-confirm p {
    font-size: 1rem;
    line-height: 1.75;
  }

  .product-scope-note {
    gap: 6px;
    margin-top: 18px;
    padding: 16px;
  }

  .product-scope-note strong {
    white-space: normal;
  }

  .product-workspace-section {
    padding: 26px 0 56px;
  }

  .eyebrow,
  .req {
    font-size: 1rem;
    letter-spacing: 0.07em;
  }

  .navi-setup form {
    margin-top: 20px;
    padding: 22px 16px;
  }

  .navi-flag {
    min-height: 48px;
    align-items: center;
    padding: 11px 12px;
  }

  .navi-flag input {
    width: 22px;
    height: 22px;
    margin-top: 0;
  }

  .field input,
  .field select,
  .field textarea,
  .navi-filter-bar select,
  .navi-task__row select,
  .navi-task__row textarea {
    min-width: 0;
    min-height: 48px;
    font-size: 1rem;
  }

  .navi-head-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .navi-head-actions .btn,
  .navi-head-actions .navi-import-label {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 10px 8px;
    font-size: 1rem;
    line-height: 1.45;
    white-space: normal;
  }

  .navi-confirm__actions .btn {
    flex: 1 1 100%;
  }

  .navi-stat-grid {
    gap: 10px;
    margin: 22px 0 16px;
  }

  .navi-stat {
    padding: 15px 16px;
  }

  .navi-stat__k,
  .navi-stat__v--sm,
  .navi-timeline__labels,
  .navi-timeline__marker span {
    font-size: 1rem;
  }

  .navi-stat__v {
    font-size: 1.16rem;
  }

  .navi-timeline {
    margin: 12px 0 38px;
    padding: 24px 2px 20px;
    overflow: hidden;
  }

  .navi-timeline__marker span {
    padding-inline: 6px;
  }

  .navi-panel {
    padding: 18px 16px;
  }

  .navi-panel h2,
  .navi-section-title {
    font-size: 1.18rem;
  }

  .navi-today-item,
  .navi-overdue-item,
  .navi-cat-card {
    min-height: 52px;
  }

  .navi-today-item__title,
  .navi-today-item__meta,
  .navi-overdue-item,
  .navi-overdue-item__days,
  .navi-overdue-more,
  .navi-cat-card__n,
  .navi-cat-card__title,
  .navi-cat-card__stat {
    font-size: 1rem;
    line-height: 1.6;
  }

  .navi-cat-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 34px;
  }

  .navi-cat-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 12px;
    padding: 14px 16px;
  }

  .navi-cat-card__title {
    margin-top: 0;
  }

  .navi-filter-bar {
    position: sticky;
    top: 64px;
    z-index: 30;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(108px, 0.85fr);
    gap: 8px;
    margin: 0 -4px 16px;
    padding: 10px 4px;
    background: var(--paper-soft);
    border-bottom: 1px solid var(--line);
  }

  .navi-filter-bar select {
    width: 100%;
    max-width: 100%;
    padding-inline: 10px;
  }

  .navi-task-list {
    gap: 12px;
  }

  .navi-task__summary {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 6px 10px;
    min-height: 58px;
    padding: 14px;
  }

  .navi-task__summary .navi-status-dot {
    grid-column: 1;
    grid-row: 1;
    width: 14px;
    height: 14px;
    margin-top: 7px;
  }

  .navi-task__title,
  .navi-task__cat,
  .navi-task__date {
    grid-column: 2;
  }

  .navi-task__title {
    grid-row: 1;
    font-size: 1.04rem;
    line-height: 1.6;
  }

  .navi-task__cat {
    grid-row: 2;
    justify-self: start;
    padding: 4px 10px;
    font-size: 1rem;
    line-height: 1.5;
    white-space: normal;
  }

  .navi-task__date {
    grid-row: 3;
    margin-left: 0;
    font-size: 1rem;
    line-height: 1.55;
  }

  .navi-task__rel,
  .navi-task__body p,
  .navi-task__guide,
  .navi-task__row label {
    font-size: 1rem;
  }

  .navi-task__body {
    gap: 14px;
    padding: 2px 14px 20px;
  }

  .navi-task__region,
  .navi-task__deliverable,
  .navi-task__dependency,
  .navi-task__guide {
    padding: 13px 14px;
  }

  .navi-task__link a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .site-footer__note,
  .site-footer__contact,
  .site-footer__copy,
  .site-footer p,
  .site-footer a {
    font-size: 1rem;
  }

  .site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

@media print {
  .site-header, .site-footer, .product-intro, .navi-head-actions, .navi-filter-bar { display: none !important; }
  .section--soft { background: #fff !important; }
  .navi-task-list { display: block; }
  .navi-task { break-inside: avoid; margin-bottom: 8px; box-shadow: none; }
}
.navi-phase-context {display:flex;gap:16px;align-items:center;padding:16px;background:#eff6f3;border-radius:12px;margin:12px 0;font-size:.85rem;}
.navi-phase-context strong {display:block;font-size:1rem;margin-top:4px;}
.navi-outlook {margin:24px 0;padding:18px;border:1px solid #cdded6;border-radius:12px;background:#f8fbf9;}
.navi-outlook h3 {margin:0 0 12px;font-size:1.05rem;}
.navi-outlook ul {padding-left:20px;margin:0;}
.navi-outlook li {margin:12px 0;}
.navi-outlook li span {display:block;font-size:.88rem;color:#52635c;margin-top:4px;}
.navi-outlook-note {font-size:.88rem;color:#52635c;}
.navi-command h2 {font-size:clamp(1.6rem,4vw,2.35rem);margin:.25rem 0;}
.navi-command-state {font-weight:800;color:#1d604f;font-size:1.05rem;}
.navi-command-today {padding:10px 14px;background:#eef5fb;border-radius:10px;}.navi-command-today strong{font-size:1.25rem;}
.navi-command-progress {display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin:18px 0;color:inherit;text-decoration:none;}
.navi-command-progress strong {font-size:1.8rem;}.navi-command-progress .bar-track{grid-column:1/-1;}
.navi-command-progress .bar-track{display:none}
.navi-command-date-check{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;width:100%;min-height:34px;padding:6px 9px;border:1px solid #dec99f;border-radius:8px;background:#fffaf1;color:#654f25;text-align:left;cursor:pointer}.navi-command-date-check strong{font-size:.95rem}.navi-command-date-check small{text-decoration:underline}.navi-command-date-check strong:first-of-type{white-space:nowrap}
.navi-managed-count {padding:12px 14px;background:#f6f8f7;border-radius:10px;}
.navi-command-links {display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}.navi-command-links a{padding:10px 14px;border:1px solid #b9cec5;border-radius:10px;font-weight:700;}
.navi-launch-mode {margin:16px 0;padding:16px;border-left:5px solid #a97024;background:#fff8e9;border-radius:8px;}
.navi-roadmap,.navi-project-calendar {margin:24px 0;padding:18px;border:1px solid #cdded6;border-radius:12px;background:#fbfdfc;}
.navi-roadmap-track {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.navi-roadmap-track button {min-height:92px;text-align:left;padding:10px;background:white;border:1px solid #cdded6;border-radius:10px;}.navi-roadmap-track span,.navi-roadmap-track small{display:block;color:#52635c}.navi-roadmap-track strong{display:block;margin:4px 0;}
.navi-roadmap-detail,.navi-calendar-detail {margin-top:14px;padding:14px;background:#eff6f3;border-radius:10px;}
.navi-calendar-detail li { margin:5px 0; }
.navi-calendar-detail li button { display:grid;grid-template-columns:1fr auto;gap:8px;width:100%;padding:8px 10px;border:1px solid #cdded6;border-radius:7px;background:#fff;color:var(--ink);text-align:left;cursor:pointer; }
.navi-calendar-detail li button em { align-self:center;color:var(--brand);font-size:.78rem;font-style:normal;font-weight:800; }
.navi-calendar-head,.navi-calendar-move {display:flex;align-items:center;justify-content:space-between;gap:12px;}.navi-calendar-head h2{margin-bottom:0}.navi-calendar-move{margin:12px 0;}
.navi-cal-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}.navi-cal-day{min-height:68px;padding:6px;text-align:left;background:#fff;border:1px solid #d7e3de;border-radius:6px}.navi-cal-day span,.navi-cal-day strong,.navi-cal-day small{display:block}.navi-cal-day strong{font-size:.75rem;margin-top:8px}.navi-cal-day small{font-size:.7rem;color:#718079}.navi-cal-day.is-outside{opacity:.45}.navi-cal-day.is-today{outline:2px solid #1d604f;}
.navi-nearby {margin:20px 0;padding:14px;background:#f8fbf9;border-radius:10px;}.navi-nearby>div{display:flex;gap:32px}.navi-nearby h3{margin-top:0;}
.navi-search-field {flex:1 1 100%;}.navi-search-field input{display:block;width:100%;margin-top:5px;}

/* ---------- タスク処理パネル ---------- */
body.navi-task-panel-open { overflow: hidden; }
.navi-task[open]::before { content:""; position:fixed; inset:0; z-index:80; background:rgba(15,34,48,.36); backdrop-filter:blur(1px); }
.navi-task[open] > .navi-task__body { position:fixed; inset:0 0 0 auto; z-index:90; width:clamp(430px,42vw,680px); height:100dvh; overflow:auto; overscroll-behavior:contain; display:block; padding:0 22px 28px; background:#f7faf9; border-left:1px solid #b9cec5; box-shadow:-18px 0 42px rgba(13,42,39,.2); animation:navi-panel-in .16s ease-out; }
.navi-task--focus { margin:0; padding:0; border:0; box-shadow:none; }
.navi-task--focus > .navi-task__summary { display:none; }
@keyframes navi-panel-in { from { transform:translateX(24px); } to { transform:none; } }
.navi-task-panel__head { position:sticky; top:0; z-index:2; margin:0 -22px 14px; padding:14px 22px 13px; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); }
.navi-task-panel__head > span { display:block; padding-right:86px; color:var(--brand-dark); font-size:.78rem; font-weight:800; }
.navi-task-panel__head h2 { margin:5px 88px 10px 0; color:var(--ink); font-size:clamp(1.15rem,2vw,1.38rem); line-height:1.4; }
.navi-task-panel__close { position:absolute; top:12px; right:18px; min-height:40px; padding:7px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.navi-task-panel__footer { position:sticky; bottom:-28px; z-index:2; margin:18px -22px -28px; padding:12px 22px max(12px,env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); border-top:1px solid var(--line); }
.navi-task-panel__footer .btn { width:100%; }
.navi-task-panel__meta { display:flex; flex-wrap:wrap; gap:7px; }
.navi-task-panel__meta > span { display:flex; align-items:baseline; gap:6px; min-height:31px; padding:5px 9px; border-radius:8px; background:#edf4f1; }
.navi-task-panel__meta small { color:var(--ink-soft); font-size:.72rem; }
.navi-task-panel__meta strong { color:var(--ink); font-size:.86rem; }
.navi-task-essentials { display:grid; gap:8px; }
.navi-task-essentials > div { padding:11px 13px; border:1px solid #d5e2dc; border-radius:10px; background:#fff; }
.navi-task-essentials span,.navi-task-recommendation > span { display:block; margin-bottom:3px; color:var(--brand-dark); font-size:.76rem; font-weight:800; }
.navi-task-essentials p { color:var(--ink)!important; font-size:.96rem!important; line-height:1.55!important; }
.navi-task-essentials > div:first-child p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.navi-task-recommendation { margin:9px 0; padding:10px 13px; border-left:4px solid var(--brand); border-radius:8px; background:#edf6f2; }
.navi-task-recommendation strong { display:block; font-size:.94rem; line-height:1.5; }
.navi-task-recommendation p { margin-top:3px!important; line-height:1.5!important; }
.navi-task-recommendation.is-done { border-color:#6a8d80; }
.navi-task-decision { display:grid; }
.navi-task-primary { position:sticky; bottom:0; z-index:3; margin:10px -22px 0; padding:10px 22px 12px; background:linear-gradient(to bottom,rgba(247,250,249,.7),#f7faf9 22%); }
.navi-task-primary .btn { width:100%; min-height:48px; font-size:1rem; }
.navi-task-secondary-actions { display:flex; align-items:flex-start; gap:8px; margin:8px 0 13px; }
.navi-task-secondary-actions > .btn,.navi-task-wait > summary { min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-weight:700; }
.navi-task-wait { position:relative; margin:0; }
.navi-task-wait > summary { cursor:pointer; list-style:none; }
.navi-task-wait__body { position:absolute; top:46px; right:0; z-index:5; width:280px; padding:12px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow-sm); }
.navi-task-wait label { display:block; margin:0 0 8px; font-weight:700; }
.navi-task-wait select { width:100%; min-height:44px; margin-top:5px; }
.navi-task-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; margin:2px 0 0; padding:4px; border-radius:10px; background:#e8efec; }
.navi-task-tabs button { min-height:42px; padding:7px 5px; border:0; border-radius:7px; background:transparent; color:var(--ink-soft); font:inherit; font-size:.88rem; font-weight:800; cursor:pointer; }
.navi-task-tabs button[aria-selected="true"] { background:#fff; color:var(--brand-dark); box-shadow:0 1px 4px rgba(13,42,39,.12); }
.navi-task-tab-panels { margin-top:8px; }
.navi-task-tab-panel { padding:13px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.navi-task-tab-panel[hidden] { display:none; }
.navi-task-tab-panel h3 { margin:0 0 8px; font-size:1rem; }
.navi-task-tab-panel p { line-height:1.62; }
.navi-task-tab-panel label { display:block; margin:8px 0; color:var(--ink); font-size:.86rem; font-weight:700; }
.navi-task-tab-panel input,.navi-task-tab-panel select,.navi-task-tab-panel textarea { display:block; width:100%; min-width:0; min-height:44px; margin:5px 0 10px; padding:8px 10px; border:1px solid #aebbc5; border-radius:8px; background:#fff; color:var(--ink); font:inherit; }
.navi-task-inline-info { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); }
.navi-confirmed-date { margin-bottom:12px; padding:11px 12px; border:1px solid #bfd4ca; border-radius:9px; background:#f3f8f6; }
.navi-confirmed-date h4 { margin:0 0 7px; font-size:.94rem; }
.navi-confirmed-date .field__hint { margin:3px 0!important; color:var(--ink-soft)!important; font-size:.78rem!important; line-height:1.5!important; }
.navi-confirmed-date__head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.navi-confirmed-date__head h4 { margin:0; }
.navi-confirmed-date__head span { padding:3px 7px; border-radius:999px; background:#d9ebe4; color:#185849; font-size:.7rem; font-weight:800; white-space:nowrap; }
.navi-confirmed-date input:disabled { background:#edf1ef; color:var(--ink-faint); cursor:not-allowed; }
.navi-confirmed-date .navi-confirmed-date__legacy { margin:7px 0!important; padding:7px 8px; border-left:3px solid #a97a32; background:#fff8e8; color:#73521f!important; }
.navi-task-record-note { margin:8px 0; padding:8px 10px; border-left:3px solid #4c8778; background:#f3f8f6; color:var(--ink-soft); font-size:.82rem; line-height:1.5; }
.navi-export-coverage { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:10px 0; }
.navi-export-coverage span { min-width:0; padding:9px 10px; border:1px solid #d2dfda; border-radius:8px; background:#f7faf9; font-weight:800; }
.navi-export-coverage strong,.navi-export-coverage small { display:block; }
.navi-export-coverage small { margin-top:2px; color:var(--ink-soft); font-size:.72rem; font-weight:600; }
@media (max-width:700px) { .navi-export-coverage { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media (min-width:701px) {
  .product-workspace-section > .wrap > .navi-master-note { width:max-content; max-width:100%; margin:6px 0 10px auto; padding:0; border:0; background:transparent; }
  .product-workspace-section > .wrap > .navi-master-note > summary { display:inline-flex; align-items:center; min-height:34px; padding:5px 10px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font-size:.84rem; font-weight:700; }
  .product-workspace-section > .wrap > .navi-master-note[open] { width:min(100%,560px); padding:10px; border:1px solid var(--line); border-radius:10px; background:#f7f9fb; }
  .product-workspace-section > .wrap > .navi-master-note[open] > summary { margin-left:auto; }
  .navi-task-decision { grid-template-columns:minmax(0,1fr) auto; }
  .navi-task-decision .navi-task-recommendation { grid-area:1 / 1 / 2 / 3; min-height:58px; padding-right:174px; }
  .navi-task-decision .navi-task-secondary-actions { grid-area:1 / 2 / 2 / 3; z-index:1; align-self:center; margin:0 10px 0 0; }
  .navi-task-decision .navi-task-secondary-actions > .btn,
  .navi-task-decision .navi-task-wait > summary { min-height:32px; padding:4px 9px; font-size:.8rem; }
  .navi-task-decision .navi-task-primary { grid-area:2 / 1 / 3 / 3; margin-top:4px; }
  .navi-task-decision .navi-task-wait__body { top:37px; }
}

@media (max-width:700px) {
  .navi-task[open] > .navi-task__body { inset:0; width:100%; padding:0 15px 24px; border-left:0; }
  .navi-task-panel__head { margin-inline:-15px; padding:10px 15px 10px; }
  .navi-task-panel__head h2 { margin:4px 78px 8px 0; font-size:1.12rem; }
  .navi-task-panel__close { top:8px; right:10px; }
  .navi-task-panel__footer { bottom:-24px; margin:16px -15px -24px; padding:10px 15px max(10px,env(safe-area-inset-bottom)); }
  .navi-task-panel__meta { gap:5px; }
  .navi-task-panel__meta > span { min-height:28px; padding:4px 7px; }
  .navi-task-essentials > div { padding:9px 11px; }
  .navi-task-primary { margin-inline:-15px; padding:9px 15px calc(10px + env(safe-area-inset-bottom)); }
  .navi-task-tabs button { font-size:.82rem; }
  .navi-task-wait__body { position:fixed; left:15px; right:15px; top:auto; bottom:calc(15px + env(safe-area-inset-bottom)); width:auto; }
}

@media print {
  body.navi-task-panel-open { overflow:visible; }
  .navi-task[open]::before,.navi-task-panel__close,.navi-task-panel__footer,.navi-task-primary { display:none!important; }
  .navi-task[open] > .navi-task__body { position:static; width:auto; height:auto; overflow:visible; padding:0; border:0; box-shadow:none; animation:none; }
}

/* NAVI「今日」コックピット。既存の操作・状態判定はそのまま表示だけ整える。 */
body:has(#navi-app .navi-dashboard) { background:#071b32; }
body:has(#navi-app .navi-dashboard) .product-workspace-section { background:linear-gradient(150deg,#0b2b50,#071b32 42%,#08223e); }
body:has(#navi-app) .product-workspace-section > .wrap { max-width:1600px; }
body:has(#navi-app) .navi-dashboard { max-width:none; color:#eff6ff; }
body:has(#navi-app) .navi-dash-head { margin:0 0 10px; }
body:has(#navi-app) .navi-cockpit-title { color:#fff; }
body:has(#navi-app) .navi-cockpit-title small { color:#bcd7ed; }
body:has(#navi-app) .navi-command,
body:has(#navi-app) .navi-roadmap,
body:has(#navi-app) .navi-cockpit-main > .navi-panel,
body:has(#navi-app) .navi-cockpit-secondary > .navi-panel,
body:has(#navi-app) .navi-project-calendar { border:1px solid #315d86; border-radius:16px; background:linear-gradient(140deg,rgba(16,56,93,.96),rgba(8,32,58,.96)); color:#f4f8ff; box-shadow:0 10px 28px rgba(0,12,30,.13); }
body:has(#navi-app) .navi-command { position:relative; isolation:isolate; overflow:hidden; min-height:270px; padding:24px; background:linear-gradient(90deg,rgba(5,25,49,.95),rgba(7,33,62,.77) 53%,rgba(7,32,58,.22)),url('/assets/img/navi-hero-reference-dusk.png') center right/cover; }
body:has(#navi-app) .navi-command::after { content:"その一歩が、未来の福祉をつくる。"; position:absolute; right:25px; bottom:19px; color:#fff; text-shadow:0 2px 9px #06172c; font-size:.91rem; letter-spacing:.08em; pointer-events:none; }
body:has(#navi-app) .navi-command .navi-daily-step { color:#d8e9fb; font-weight:700; }
body:has(#navi-app) .navi-command .navi-daily-step small { display:block; margin-top:3px; font-size:.75rem; font-weight:500; }
body:has(#navi-app) .navi-command h2 { color:#fff; font-size:clamp(2rem,4vw,3.2rem); text-shadow:0 2px 16px #052340; }
body:has(#navi-app) .navi-command-state { width:max-content; max-width:100%; padding:5px 12px; border:1px solid #48baaa; border-radius:9px; background:rgba(4,57,67,.8); color:#8cf0dc; }
body:has(#navi-app) .navi-command-progress { color:#e8f4ff; }
body:has(#navi-app) .navi-command-progress strong { color:#fff; }
body:has(#navi-app) .navi-command-today { background:rgba(8,43,73,.86); border:1px solid #5686a8; color:#f1f8ff; }
body:has(#navi-app) .navi-command-date-check { background:rgba(7,32,56,.83); border-color:#5686a8; color:#eff7ff; }
body:has(#navi-app) .navi-command-glance { background:rgba(7,33,59,.78); border-color:#366388; }
body:has(#navi-app) .navi-command-glance > div > span,
body:has(#navi-app) .navi-command-glance > small { color:#c4dbea; }
body:has(#navi-app) .navi-command-glance button { background:#123f69; border-color:#40729b; color:#eff7ff; }
body:has(#navi-app) .navi-command-glance button strong { color:#9ce2ff; }
body:has(#navi-app) .navi-phase-context { background:rgba(7,32,56,.84); border:1px solid #39668c; color:#f1f8ff; }
body:has(#navi-app) .navi-roadmap { margin:12px 0; }
body:has(#navi-app) .navi-roadmap h2,
body:has(#navi-app) .navi-project-calendar h2,
body:has(#navi-app) .navi-cockpit-main h2,
body:has(#navi-app) .navi-cockpit-secondary h2 { color:#fff; }
body:has(#navi-app) .navi-roadmap > p,
body:has(#navi-app) .navi-calendar-head p,
body:has(#navi-app) .navi-mini-calendar > p { color:#c5dbee; }
body:has(#navi-app) .navi-roadmap-track button { min-width:0; background:#123d64; border-color:#4775a0; color:#f5faff; text-align:center; cursor:pointer; }
body:has(#navi-app) .navi-roadmap-track button span,
body:has(#navi-app) .navi-roadmap-track button small { color:#bdd8ec; }
body:has(#navi-app) .navi-roadmap-track button[aria-pressed="true"] { border-color:#5dbbff; box-shadow:inset 0 0 0 1px #5dbbff,0 0 14px rgba(31,140,229,.3); }
body:has(#navi-app) .navi-cockpit-secondary { grid-template-columns:1fr; }
body:has(#navi-app) .navi-managed { order:-1; }
body:has(#navi-app) .navi-flow-console { align-self:center; }
body:has(#navi-app) .navi-flow-metrics { align-self:center; }
body:has(#navi-app) .navi-flow-count,
body:has(#navi-app) .navi-flow-count strong,
body:has(#navi-app) .navi-flow-phase { color:#e3f2ff; }
body:has(#navi-app) .navi-metric-links button { background:#123f69; border-color:#3d7099; color:#eff8ff; cursor:pointer; }
body:has(#navi-app) .navi-metric-links strong { color:#a6deff; }
body:has(#navi-app) .navi-important { background:#3b342c; color:#fff0d8; }
body:has(#navi-app) .navi-important p { color:#fff0d8; }
body:has(#navi-app) .navi-safe { color:#91ead2; }
body:has(#navi-app) .navi-mini-day,
body:has(#navi-app) .navi-cal-day { background:#11395f; border-color:#426c92; color:#f2f8ff; }
body:has(#navi-app) .navi-mini-day.is-today,
body:has(#navi-app) .navi-cal-day.is-today { outline-color:#8dcaff; }
body:has(#navi-app) .navi-mini-detail,
body:has(#navi-app) .navi-calendar-detail,
body:has(#navi-app) .navi-roadmap-detail { background:#123c62; color:#f1f8ff; }
body:has(#navi-app) .navi-mini-detail button,
body:has(#navi-app) .navi-calendar-detail button,
body:has(#navi-app) .navi-next-important button { color:#ecf7ff; }
body:has(#navi-app) .navi-project-calendar { margin:14px 0 24px; }
body:has(#navi-app) .navi-cockpit-nav { background:#092b4d; border-color:#3f75a3; }
body:has(#navi-app) .navi-cockpit-nav a { color:#cbdff0; background:transparent; }
body:has(#navi-app) .navi-cockpit-nav [aria-current] { background:#12558e; color:#fff; border-color:#469ce1; }

@media (max-width:800px) {
  body:has(#navi-app) .navi-dashboard { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
  body:has(#navi-app) .navi-command { min-height:310px; padding:18px; background-position:60% center; }
  body:has(#navi-app) .navi-command::after { right:15px; bottom:13px; font-size:.72rem; }
  body:has(#navi-app) .navi-command h2 { font-size:clamp(1.85rem,8vw,2.8rem); }
  body:has(#navi-app) .navi-command-glance { margin-bottom:20px; }
  body:has(#navi-app) .navi-command-glance > div { align-items:flex-start; flex-wrap:wrap; }
  body:has(#navi-app) .navi-command-glance nav { flex-wrap:wrap; }
  body:has(#navi-app) .navi-command-glance button { min-height:38px; }
  body:has(#navi-app) .navi-roadmap-track { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:82px; padding:6px 3px; font-size:.7rem; line-height:1.25; }
  body:has(#navi-app) .navi-roadmap-track strong { overflow-wrap:anywhere; }
  body:has(#navi-app) .navi-roadmap-track small { font-size:.62rem; }
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:115px minmax(0,1fr); grid-template-areas:"device console" "metrics metrics"; }
  body:has(#navi-app) .navi-cockpit-nav { padding:6px 5px calc(6px + env(safe-area-inset-bottom)); border-radius:13px 13px 0 0; gap:2px; }
  body:has(#navi-app) .navi-cockpit-nav a { min-width:0; min-height:53px; padding:10px 1px; font-size:.91rem; }
  body:has(#navi-app) .navi-project-calendar { padding:12px; }
  body:has(#navi-app) .navi-calendar-head { flex-wrap:wrap; }
  body:has(#navi-app) .navi-cal-day { min-width:0; min-height:50px; padding:3px; overflow:hidden; }
  body:has(#navi-app) .navi-cal-day span { font-size:.73rem; }
  body:has(#navi-app) .navi-cal-day strong { overflow-wrap:anywhere; }
  body:has(#navi-app) .navi-calendar-move { flex-wrap:wrap; }
}
@media(max-width:700px){.navi-command{padding:16px}.navi-command h2{margin:.15rem 0}.navi-command-progress{margin:10px 0}.navi-managed-count{margin:8px 0}.navi-roadmap-track{grid-template-columns:repeat(2,minmax(0,1fr))}.navi-cal-day{min-height:54px;padding:4px}.navi-cal-day strong{font-size:.65rem}.navi-cal-day small{display:none}.navi-command-links a{flex:1 1 auto;text-align:center}.navi-phase-context{gap:8px;padding:10px}.navi-roadmap,.navi-project-calendar{padding:12px}}
.navi-cockpit-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:12px;padding:7px 8px;background:rgba(245,248,250,.96);border:1px solid #d4e0dc;border-radius:10px;margin:10px 0}.navi-cockpit-nav a{padding:7px 20px;border:1px solid transparent;border-radius:8px;font-size:1.08rem;line-height:1;font-weight:850;text-decoration:none;transition:filter .15s ease,border-color .15s ease}.navi-cockpit-nav a:hover,.navi-cockpit-nav a:focus-visible{filter:saturate(1.18);border-color:currentColor}.navi-cockpit-nav__today{color:#173f6c;background:#eaf1f9}.navi-cockpit-nav__process{color:#285c4d;background:#e8f2ee}.navi-cockpit-nav__schedule{color:#765621;background:#f7f0df}.navi-cockpit-nav__all{color:#465f69;background:#edf2f3}.navi-cockpit-nav__search{color:#5c4f72;background:#f1eef6}
.navi-cockpit-main,.navi-cockpit-secondary{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}.navi-cockpit-secondary{margin-top:14px;grid-template-columns:1fr 1fr}
.navi-cockpit-main>.navi-panel,.navi-cockpit-secondary>.navi-panel{margin:0;height:100%}.navi-panel-heading,.navi-calendar-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.navi-panel-heading h2{margin:0}
.navi-today-list>li{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.navi-quick-done{min-height:42px;padding:7px 10px;border:1px solid #aac6ba;background:#fff;border-radius:8px;font-weight:700}
.navi-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.navi-mini-day{position:relative;min-height:36px;padding:4px;border:1px solid #d8e4df;background:#fff;border-radius:5px}.navi-mini-day i{display:block;width:7px;height:7px;border-radius:50%;background:#4f7f72;margin:2px auto 0}.navi-mini-day i.is-critical{background:#a84337}.navi-mini-calendar span.is-critical{color:#a84337}.navi-mini-day i.is-waiting{background:#b88435}.navi-mini-day.is-today{outline:2px solid #173f6c}.navi-mini-detail{display:flex;gap:12px;align-items:flex-start;margin-top:8px;padding:8px;background:#f3f7f5;border-radius:7px;font-size:.86rem}.navi-mini-detail ul{flex:1;margin:0;padding-left:18px}.navi-mini-detail span{color:#60716a}.navi-mini-detail li button,.navi-next-important button{display:flex;justify-content:space-between;gap:8px;width:100%;padding:3px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.navi-mini-detail li button em{color:var(--brand);font-size:.75rem;font-style:normal;font-weight:800}.navi-next-important{font-size:.85rem;margin-bottom:0}.navi-next-important button{display:inline;width:auto;padding:0;text-decoration:underline;text-underline-offset:3px}
.navi-metric-links{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.navi-metric-links button{min-height:62px;padding:6px;background:#f6f9f8;border:1px solid #cfddd7;border-radius:8px}.navi-metric-links strong,.navi-metric-links span{display:block}.navi-metric-links strong{font-size:1.25rem}.navi-metric-links span{font-size:.78rem}.navi-important{padding:10px;background:#fff8e9;border-left:4px solid #b47b2b;border-radius:6px}.navi-important>span,.navi-important>strong{display:block}.navi-important p{font-size:.86rem;margin:5px 0}.navi-safe{color:#1d604f;font-weight:700}#navi-exceptions li span{display:block;font-size:.86rem;margin:4px 0}
.navi-nearby .navi-metric-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.navi-flow-engine{display:grid;grid-template-columns:minmax(158px,38%) minmax(0,1fr);grid-template-areas:"device console" "device metrics";column-gap:12px;row-gap:7px;align-items:center;margin:-4px 0 5px;min-height:160px}.navi-flow-visual{grid-area:device;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;isolation:isolate}.navi-flow-visual::before,.navi-flow-visual::after{content:"";position:absolute;pointer-events:none;border-radius:50%;opacity:.46;z-index:-1}.navi-flow-visual::before{inset:10% 5%;background:radial-gradient(circle,rgba(31,170,255,.46) 0,rgba(28,132,235,.2) 43%,rgba(28,132,235,0) 72%);transform:scale(.92)}.navi-flow-visual::after{inset:20% 12%;background:radial-gradient(circle at 78% 70%,rgba(255,160,53,.28),rgba(255,160,53,0) 58%);transform:scale(.88)}.navi-flow-visual img{display:block;width:100%;height:auto;max-height:178px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(7,26,48,.28));transform:translateZ(0)}.navi-flow-console{grid-area:console;align-self:end;min-width:0}.navi-flow-status{display:block;padding:8px 10px;border:1px solid rgba(70,165,220,.42);border-radius:10px;background:linear-gradient(110deg,rgba(7,40,69,.96),rgba(11,63,98,.9));box-shadow:inset 0 0 16px rgba(70,188,255,.12),0 3px 9px rgba(8,34,58,.14);color:#eef9ff}.navi-flow-ring{position:relative;width:34px;aspect-ratio:1;margin:auto;border:4px solid rgba(64,198,255,.28);border-top-color:#8ee9ff;border-right-color:#18bdf7;border-bottom-color:#0879ce;border-radius:50%;transform:rotate(0);pointer-events:none;box-shadow:0 0 10px rgba(31,190,255,.3)}.navi-flow-status h2{margin:0;font-size:.9rem;line-height:1.18;letter-spacing:.025em;white-space:nowrap}.navi-flow-status h2 strong{display:inline-flex;align-items:center;gap:5px;color:#7be5ff;font-size:.76rem}.navi-flow-status h2 strong i{width:6px;height:6px;border-radius:50%;background:#54dfff;box-shadow:0 0 0 3px rgba(84,223,255,.14)}.navi-flow-status p{margin:3px 0 0;color:#ccecff;font-size:.67rem;line-height:1.25}.navi-flow-count{margin:7px 1px 0;color:var(--ink-soft);font-size:.82rem}.navi-flow-count strong{margin-right:3px;color:var(--ink);font-size:1.2rem}.navi-flow-metrics{grid-area:metrics;align-self:start;gap:4px}.navi-flow-metrics button{min-width:0;min-height:43px;padding:3px}.navi-flow-metrics strong{font-size:1rem;line-height:1.05}.navi-flow-metrics span{font-size:.7rem}.navi-flow-phase{margin:4px 0 8px;font-size:.83rem}.navi-flow-engine.is-running .navi-flow-visual::before{animation:navi-flow-blue-glow 3.8s ease-in-out infinite;will-change:transform,opacity}.navi-flow-engine.is-running .navi-flow-visual::after{animation:navi-flow-amber-glow 3.2s ease-in-out infinite;will-change:transform,opacity}.navi-flow-engine.is-running .navi-flow-ring{animation:navi-flow-spin 4.2s linear infinite;will-change:transform}.navi-flow-engine.is-running .navi-flow-status h2 strong i{animation:navi-flow-pulse 3.6s ease-in-out infinite;will-change:transform,opacity}@keyframes navi-flow-blue-glow{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:.64;transform:scale(1)}}@keyframes navi-flow-amber-glow{0%,100%{opacity:.18;transform:scale(.86)}50%{opacity:.42;transform:scale(.98)}}@keyframes navi-flow-spin{to{transform:rotate(360deg)}}@keyframes navi-flow-pulse{0%,100%{opacity:.58;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}
@media(max-width:500px){.navi-flow-engine{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"device console" "metrics metrics";column-gap:8px;row-gap:7px;min-height:0;margin:-2px 0 5px}.navi-flow-visual{align-self:center}.navi-flow-visual img{max-height:116px}.navi-flow-status{grid-template-columns:30px minmax(0,1fr);gap:6px;padding:7px 7px}.navi-flow-ring{width:27px;border-width:3px}.navi-flow-status h2{font-size:.78rem;white-space:normal}.navi-flow-status h2 strong{font-size:.68rem;white-space:nowrap}.navi-flow-status p{font-size:.62rem;line-height:1.28}.navi-flow-count{margin-top:5px;font-size:.72rem}.navi-flow-count strong{font-size:1.02rem}.navi-flow-metrics{gap:3px}.navi-flow-metrics button{min-height:38px;padding:2px 1px}.navi-flow-metrics strong{font-size:.86rem}.navi-flow-metrics span{font-size:.63rem}.navi-flow-phase{font-size:.75rem;line-height:1.45}}
@media(min-width:501px){.navi-flow-engine{grid-template-columns:minmax(145px,35%) minmax(0,1fr);min-height:132px}.navi-flow-visual img{max-height:144px}}.navi-flow-status h2{color:#eef9ff}
@media(max-width:500px){.navi-flow-engine{row-gap:5px}.navi-flow-visual img{max-height:96px}}@media(max-width:340px){.navi-flow-engine{grid-template-columns:104px minmax(0,1fr)}.navi-flow-status h2{font-size:.72rem;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.navi-flow-engine.is-running .navi-flow-ring,.navi-flow-engine.is-running .navi-flow-status h2 strong i{animation:none!important}.navi-flow-mark-ring{animation-duration:8s,4.8s!important;opacity:.84}}
@media(min-width:801px){.navi-sync{position:absolute;top:4px;right:0;z-index:12;width:auto;margin:0}.navi-command{display:grid;grid-template-columns:1fr 1.25fr;column-gap:24px;padding:18px 22px}.navi-command .navi-daily-step{grid-column:2;grid-row:1;justify-self:end;align-self:end;margin:10px 0 2px;text-align:right}.navi-command h2{grid-column:1;grid-row:1/3;align-self:center}.navi-command-state{grid-column:1;grid-row:3}.navi-command-today{grid-column:1;grid-row:4;margin:6px 0}.navi-command-glance{grid-column:1;grid-row:5/7}.navi-command-progress{grid-column:2;grid-row:2/5;margin:0}.navi-command-date-check{grid-column:2;grid-row:5}.navi-command .navi-phase-context{grid-column:2;grid-row:6;margin:0}}
@media(max-width:800px){.navi-cockpit-main,.navi-cockpit-secondary{grid-template-columns:1fr}.navi-cockpit-secondary{gap:10px}.navi-cockpit-nav{position:fixed;left:0;right:0;bottom:0;top:auto;gap:3px;margin:0;border-radius:0;padding:5px 4px;box-shadow:0 -3px 12px rgba(12,34,55,.14)}.navi-cockpit-nav a{flex:1;padding:7px 1px;text-align:center;font-size:.94rem;line-height:1}.navi-dashboard{padding-bottom:70px}.navi-mini-grid{grid-template-columns:repeat(7,1fr)}.navi-mini-day{min-height:32px}.navi-mini-calendar .navi-panel-heading h2{font-size:1.05rem}.navi-mini-calendar>p,.navi-next-important{font-size:.78rem}.navi-metric-links{grid-template-columns:repeat(4,1fr)}.navi-filter-overview{grid-template-columns:repeat(3,1fr)}.navi-sync{justify-content:flex-end;margin-bottom:2px}.navi-sync>details{margin-left:0}.navi-sync>details[open]{position:absolute;left:16px;right:16px;top:145px;z-index:45;box-shadow:0 8px 28px rgba(12,34,55,.18)}.navi-command-glance button{padding-inline:5px}}

/* The hero artwork is confined to the countdown card; the rest is a plain navy workspace. */
body:has(#navi-app) .navi-command[data-time-of-day="morning"] { background-image:linear-gradient(90deg,rgba(5,25,49,.93),rgba(7,33,62,.7) 52%,rgba(7,32,58,.16)),url('/assets/img/navi-hero-morning.png'); }
body:has(#navi-app) .navi-command[data-time-of-day="day"] { background-image:linear-gradient(90deg,rgba(5,25,49,.94),rgba(7,33,62,.7) 52%,rgba(7,32,58,.16)),url('/assets/img/navi-hero-day.png'); }
body:has(#navi-app) .navi-command[data-time-of-day="night"] { background-image:linear-gradient(90deg,rgba(5,25,49,.93),rgba(7,33,62,.71) 52%,rgba(7,32,58,.19)),url('/assets/img/navi-hero-night.png'); }
@media (min-width:1200px) {
  body:has(#navi-app .navi-dashboard) .product-workspace-section > .wrap { width:calc(100% - 232px); max-width:1680px; margin-left:232px; margin-right:0; padding:24px clamp(18px,2vw,38px); }
  body:has(#navi-app .navi-dashboard) .navi-dash-head { position:fixed; top:0; left:0; z-index:31; width:232px; min-height:122px; padding:22px 16px; background:#0a2a4c; border-right:1px solid #3a658c; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-title { margin:0; font-size:1.02rem; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-title img { width:52px; height:52px; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-title small { font-size:.72rem; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav { position:fixed; top:122px; bottom:0; left:0; z-index:30; width:232px; margin:0; padding:12px 9px 18px; flex-direction:column; justify-content:flex-start; gap:5px; border:0; border-right:1px solid #3a658c; border-radius:0; background:#0a2a4c; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav > a { display:flex; align-items:center; justify-content:flex-start; min-height:54px; padding:12px 18px; font-size:1rem; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav__aux { display:grid; gap:3px; margin-top:auto; padding-top:15px; border-top:1px solid #466785; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav__aux a { display:block; min-width:0; padding:10px 12px; overflow-wrap:anywhere; color:#c9ddee; text-decoration:none; font-size:.84rem; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav__aux a:hover { background:#16436e; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track { grid-template-columns:repeat(8,minmax(0,1fr)); }
  body:has(#navi-app .navi-dashboard) .navi-roadmap { padding:12px 16px; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap h2 { margin:0 0 8px; font-size:1.15rem; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap > p { display:none; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track button { min-height:72px; padding:6px 4px; font-size:.75rem; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-main { grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); }
  body:has(#navi-app .navi-dashboard) .navi-command { min-height:220px; }
  body:has(#navi-app .navi-dashboard) .navi-command-glance,
  body:has(#navi-app .navi-dashboard) .navi-command .navi-phase-context { display:none; }
  body:has(#navi-app .navi-dashboard) .navi-command::after { right:24px; bottom:16px; }
  body:has(#navi-app .navi-dashboard) .navi-flow-visual img { max-height:190px; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-secondary { grid-template-columns:1fr; }
  body:has(#navi-app .navi-dashboard) .navi-managed { order:-1; }
}
@media (max-width:1199px) {
  body:has(#navi-app) .navi-cockpit-nav__aux { display:none; }
}
@media (max-width:800px) {
  body:has(#navi-app) .navi-dashboard { padding-bottom:calc(86px + env(safe-area-inset-bottom)); }
  body:has(#navi-app) .navi-cockpit-nav { padding:6px 5px calc(6px + env(safe-area-inset-bottom)); background:#092b4d; }
  body:has(#navi-app) .navi-cockpit-nav > a { min-height:54px; padding:10px 1px; font-size:.9rem; }
  body:has(#navi-app) .navi-roadmap-track { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:115px minmax(0,1fr); grid-template-areas:"device console" "metrics metrics"; }
  body:has(#navi-app) .navi-command { min-height:335px; background-position:60% center; }
  body:has(#navi-app) .navi-command-glance,
  body:has(#navi-app) .navi-command .navi-phase-context { display:none; }
  body:has(#navi-app) .navi-command::after { bottom:12px; }
}
@media (min-width:501px) and (max-width:1199px) {
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:35% minmax(0,1fr); grid-template-areas:"device console" "device metrics"; }
}

/* Mobile cockpit: keep the existing FLOW ENGINE in the first screen. */
@media (max-width:500px) {
  body:has(#navi-app) .navi-dash-head { margin-bottom:6px; }
  body:has(#navi-app) .navi-command { min-height:0; height:183px; padding:11px 13px; }
  body:has(#navi-app) .navi-command .navi-daily-step { margin:0; font-size:.86rem; line-height:1.45; }
  body:has(#navi-app) .navi-command .navi-daily-step small { margin-top:0; font-size:.7rem; }
  body:has(#navi-app) .navi-command h2 { margin:5px 0 4px; font-size:clamp(1.7rem,7.4vw,2.2rem); line-height:1.15; }
  body:has(#navi-app) .navi-command-state { margin:0 0 5px; padding:3px 8px; font-size:.78rem; }
  body:has(#navi-app) .navi-command-progress,
  body:has(#navi-app) .navi-command-today { display:none; }
  body:has(#navi-app) .navi-command-date-check { min-height:32px; padding:5px 7px; font-size:.75rem; }
  body:has(#navi-app) .navi-command-date-check strong { font-size:.82rem; }
  body:has(#navi-app) .navi-command-date-check small { font-size:.68rem; }
  body:has(#navi-app) .navi-command::after { top:14px; right:12px; bottom:auto; width:122px; font-size:.58rem; line-height:1.5; text-align:right; }
  body:has(#navi-app) .navi-roadmap { margin:7px 0; padding:8px 7px; }
  body:has(#navi-app) .navi-roadmap h2 { margin:0; font-size:1rem; line-height:1.3; }
  body:has(#navi-app) .navi-roadmap > p { margin:2px 0 6px; font-size:.7rem; line-height:1.3; }
  body:has(#navi-app) .navi-roadmap-track { grid-template-columns:repeat(8,minmax(0,1fr)); gap:2px; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:44px; padding:1px; border-radius:9px; font-size:.58rem; }
  body:has(#navi-app) .navi-roadmap-track button span { font-size:.56rem; white-space:nowrap; }
  body:has(#navi-app) .navi-roadmap-track button strong,
  body:has(#navi-app) .navi-roadmap-track button small { display:none; }
  body:has(#navi-app) .navi-cockpit-secondary { margin-top:7px; }
  body:has(#navi-app) .navi-managed { padding:12px; }
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:116px minmax(0,1fr); gap:7px; margin:0 0 7px; }
  body:has(#navi-app) .navi-flow-visual img { max-height:124px; }
  body:has(#navi-app) .navi-flow-status h2 { font-size:.86rem; }
  body:has(#navi-app) .navi-flow-status p { font-size:.67rem; }
  body:has(#navi-app) .navi-flow-count { font-size:.78rem; }
  body:has(#navi-app) .navi-flow-metrics button { min-height:47px; }
  body:has(#navi-app) .navi-flow-metrics strong { font-size:1rem; }
  body:has(#navi-app) .navi-flow-metrics span { font-size:.7rem; }
}

/* Published FLOW ENGINE visual, retained on mobile and PC. */
body .navi-flow-visual::before,
body .navi-flow-visual::after { display:none; }
.navi-flow-logo{display:block;width:100%;height:auto;max-height:178px;overflow:visible;filter:drop-shadow(0 5px 8px rgba(7,26,48,.14));transform:translateZ(0)}
.navi-flow-mark-ring{transform-box:view-box;transform-origin:672px 486px;opacity:.84}
.navi-flow-mark-fixed{filter:drop-shadow(0 2px 2px rgba(8,40,72,.08))}
.navi-flow-mark-ring{animation:navi-flow-logo-spin 8s linear infinite,navi-flow-logo-breathe 4.8s ease-in-out infinite;will-change:transform,opacity}
@keyframes navi-flow-logo-spin{to{transform:rotate(360deg)}}
@keyframes navi-flow-logo-breathe{0%,100%{opacity:.70}50%{opacity:.96}}


/* Keep the published FLOW ENGINE console layout. */
body:has(#navi-app) .navi-flow-status{display:block}

/* Remove the superseded chip image behind the published round logo. */
body:has(#navi-app) .navi-flow-visual{background:none}

/* Preserve the existing viewport and tab pause behavior. */
body .navi-flow-mark-ring{animation:none}
body .navi-flow-engine.is-running .navi-flow-mark-ring{animation:navi-flow-logo-spin 8s linear infinite,navi-flow-logo-breathe 4.8s ease-in-out infinite}
/* Reference layout: eight connected stages, while retaining each existing button action. */
body:has(#navi-app) .navi-roadmap-track{position:relative;gap:4px}
body:has(#navi-app) .navi-roadmap-track::before{content:"";position:absolute;left:5%;right:5%;top:22px;height:3px;background:#5e8eb9;pointer-events:none}
body:has(#navi-app) .navi-roadmap-track button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;min-height:92px;padding:0 2px;border:0;background:transparent;box-shadow:none;color:#e7f2ff}
body:has(#navi-app) .navi-roadmap-track button span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #79a9d5;border-radius:50%;background:#173c62;color:#e7f2ff;font-size:.78rem;white-space:nowrap}
body:has(#navi-app) .navi-roadmap-track button strong{display:block;max-width:100%;font-size:.68rem;line-height:1.3;text-align:center;overflow-wrap:anywhere}
body:has(#navi-app) .navi-roadmap-track button small{display:none}
body:has(#navi-app) .navi-roadmap-track button[aria-pressed="true"] span{border:3px solid #23aaff;box-shadow:0 0 12px #078dff;background:#07599e}
body:has(#navi-app) .navi-flow-mark-fixed image:last-child{filter:brightness(0) invert(1)}
@media(max-width:500px){body:has(#navi-app) .navi-roadmap-track button{min-height:90px;padding:0 1px}body:has(#navi-app) .navi-roadmap-track button span{width:35px;height:35px;font-size:.58rem}body:has(#navi-app) .navi-roadmap-track button strong{font-size:.53rem}body:has(#navi-app) .navi-roadmap-track::before{top:17px}body:has(#navi-app) .navi-roadmap{padding-bottom:7px}}
/* Today's cockpit: presentation only. Existing task, save, and date logic stay in navi.js. */
body:has(#navi-app) .navi-cockpit-content { min-width:0; }
body:has(#navi-app) .navi-flow-kpis { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0; }
body:has(#navi-app) .navi-flow-kpis > * { display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:72px;padding:5px;border:1px solid #3a75a6;border-radius:10px;background:rgba(21,67,108,.72);color:#f1f9ff;text-decoration:none;cursor:pointer; }
body:has(#navi-app) .navi-flow-kpis span { font-size:.82rem; }
body:has(#navi-app) .navi-flow-kpis strong { color:#bce7ff;font-size:1.65rem;line-height:1.15; }
body:has(#navi-app) .navi-flow-kpis small { font-size:.76rem; }
body:has(#navi-app) .navi-flow-today { display:flex;align-items:center;gap:12px;min-height:54px;padding:9px 14px;border:1px solid #326fa2;border-radius:10px;background:rgba(15,55,91,.75);color:#f3faff;text-decoration:none; }
body:has(#navi-app) .navi-flow-today::before { content:'✓';display:grid;place-items:center;flex:none;width:31px;height:31px;border-radius:50%;background:#108be5;color:white;font-size:1.25rem;font-weight:800; }
body:has(#navi-app) .navi-flow-today strong { font-size:1.1rem; }
body:has(#navi-app) .navi-flow-today span { color:#c9ddec;font-size:.78rem; }
body:has(#navi-app) .navi-alerts { display:grid;gap:8px; }
body:has(#navi-app) .navi-alerts button { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:76px;width:100%;padding:11px 16px;border:1px solid #3a75a6;border-radius:10px;background:rgba(16,55,89,.85);color:#f3faff;text-align:left;cursor:pointer; }
body:has(#navi-app) .navi-alerts button:first-child { border-color:#806d50; }
body:has(#navi-app) .navi-alerts button span { font-weight:700; }
body:has(#navi-app) .navi-alerts button strong { font-size:1.35rem; }
body:has(#navi-app) .navi-alerts button small { color:#b9d4e9; }
body:has(#navi-app) .navi-quick-menu h2 { margin:0 0 12px;color:#f6fbff; }
body:has(#navi-app) .navi-quick-menu > div { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px; }
body:has(#navi-app) .navi-quick-menu a { display:grid;place-items:center;min-height:88px;padding:8px;border:1px solid #3a75a6;border-radius:12px;background:rgba(15,55,91,.8);color:#fff;font-weight:700;text-align:center;text-decoration:none; }
body:has(#navi-app) .navi-quick-menu a::before { display:grid;place-items:center;width:36px;height:36px;margin:0 auto 4px;border-radius:50%;background:#176bb1;color:#eaf8ff;font-size:1.35rem; }
body:has(#navi-app) .navi-quick-menu a:nth-child(1)::before { content:'☷'; }
body:has(#navi-app) .navi-quick-menu a:nth-child(2)::before { content:'◇'; }
body:has(#navi-app) .navi-quick-menu a:nth-child(3)::before { content:'✓'; }
body:has(#navi-app) .navi-quick-menu a:nth-child(4)::before { content:'▤'; }
body:has(#navi-app) .navi-mini-day { min-height:58px;border:1px solid #3b75a6;border-radius:8px;background:rgba(10,40,72,.7);color:#f2f9ff; }
body:has(#navi-app) .navi-mini-day span { display:flex;flex-direction:column;align-items:center;font-size:1.05rem;font-weight:700; }
body:has(#navi-app) .navi-mini-day span small { color:#b7d1e8;font-size:.68rem;font-weight:500; }
body:has(#navi-app) .navi-mini-day.is-today { border-color:#97d1ff;box-shadow:0 0 9px rgba(56,159,255,.6); }
body:has(#navi-app) .navi-mini-day.is-sunday-holiday span,body:has(#navi-app) .navi-mini-day.is-sunday-holiday span small { color:#ff999b; }
body:has(#navi-app) .navi-mini-day.is-saturday span,body:has(#navi-app) .navi-mini-day.is-saturday span small { color:#9fd3ff; }
body:has(#navi-app) .navi-mini-detail { border:1px solid #32689a;background:rgba(10,39,70,.8);color:#f3faff; }
body:has(#navi-app) .navi-mini-detail li button,body:has(#navi-app) .navi-next-important button { color:#e8f6ff; }
body:has(#navi-app) .navi-mini-calendar > p { margin:8px 0; }
body:has(#navi-app) .navi-roadmap-track button[data-current="true"] span { border:3px solid #20a7ff;background:#07579b;box-shadow:0 0 14px rgba(11,151,255,.75); }
body:has(#navi-app) .navi-roadmap-track button[data-current="true"]::before { content:'現在地';position:absolute;top:-23px;padding:2px 6px;border-radius:4px;background:#176cc1;color:#fff;font-size:.62rem;white-space:nowrap; }

@media(max-width:800px) {
  body:has(#navi-app) .navi-cockpit-content { display:flex;flex-direction:column;gap:10px;margin-top:10px; }
  body:has(#navi-app) .navi-cockpit-secondary,body:has(#navi-app) .navi-cockpit-main,body:has(#navi-app) .navi-cockpit-utility { display:contents; }
  body:has(#navi-app) .navi-managed { order:1;margin:0; }
  body:has(#navi-app) .navi-daily { order:2;margin:0; }
  body:has(#navi-app) .navi-alerts { order:3;margin:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:0;background:none; }
  body:has(#navi-app) .navi-mini-calendar { order:4;margin:0; }
  body:has(#navi-app) .navi-quick-menu { order:5;margin:0; }
  body:has(#navi-app) .navi-nearby { order:6;margin:0; }
  body:has(#navi-app) .navi-command-date-check { display:none; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:58px;padding:4px 1px; }
  body:has(#navi-app) .navi-flow-kpis span { font-size:.72rem; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1.36rem; }
  body:has(#navi-app) .navi-flow-kpis small { font-size:.66rem; }
  body:has(#navi-app) .navi-flow-today { display:grid;grid-template-columns:31px 1fr;gap:2px 10px; }
  body:has(#navi-app) .navi-flow-today::before { grid-row:1/3; }
  body:has(#navi-app) .navi-flow-today span { grid-column:2; }
  body:has(#navi-app) .navi-alerts button { min-height:83px;padding:9px 10px; }
  body:has(#navi-app) .navi-alerts button span { font-size:.78rem; }
  body:has(#navi-app) .navi-alerts button strong { font-size:1.18rem; }
  body:has(#navi-app) .navi-alerts button small { font-size:.68rem; }
  body:has(#navi-app) .navi-quick-menu > div { gap:6px; }
  body:has(#navi-app) .navi-quick-menu a { min-height:82px;padding:5px 2px;font-size:.72rem; }
  body:has(#navi-app) .navi-mini-day { min-height:53px; }
  body:has(#navi-app) .navi-roadmap-track button[data-current="true"]::before { top:-20px; }
  body:has(#navi-app) .navi-roadmap { padding-top:24px; }
}

@media(min-width:1200px) {
  body:has(#navi-app) .navi-cockpit-content { display:grid;grid-template-columns:minmax(0,2.5fr) minmax(300px,1fr);gap:10px 12px;margin-top:10px;align-items:start; }
  body:has(#navi-app) .navi-cockpit-secondary,body:has(#navi-app) .navi-cockpit-main,body:has(#navi-app) .navi-cockpit-utility { display:contents; }
  body:has(#navi-app) .navi-managed { grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:175px minmax(0,1fr) minmax(370px,.95fr);gap:6px 14px;min-height:0;margin:0;padding:10px 16px; }
  body:has(#navi-app) .navi-flow-engine { display:contents; }
  body:has(#navi-app) .navi-flow-visual { grid-column:1;grid-row:1/4; }
  body:has(#navi-app) .navi-flow-console { grid-column:2;grid-row:1;align-self:center; }
  body:has(#navi-app) .navi-flow-metrics { grid-column:2;grid-row:2; }
  body:has(#navi-app) .navi-flow-kpis { grid-column:3;grid-row:1/3;align-self:center;margin:0; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:68px; }
  body:has(#navi-app) .navi-flow-today { grid-column:2/4;grid-row:3;min-height:42px; }
  body:has(#navi-app) .navi-flow-phase { grid-column:1/3;grid-row:4;margin:0;font-size:.72rem; }
  body:has(#navi-app) .navi-safe,body:has(#navi-app) .navi-important { grid-column:3;grid-row:4;margin:0;font-size:.72rem; }
  body:has(#navi-app) #navi-exceptions { grid-column:1/-1;grid-row:5;font-size:.72rem; }
  body:has(#navi-app) .navi-daily { grid-column:1;grid-row:2/4;min-height:220px;margin:0; }
  body:has(#navi-app) .navi-daily h2::before { content:'▣';margin-right:8px;color:#f7c96c; }
  body:has(#navi-app) .navi-alerts { grid-column:2;grid-row:2;margin:0;padding:0;border:0;background:none; }
  body:has(#navi-app) .navi-nearby { grid-column:2;grid-row:3;margin:0; }
  body:has(#navi-app) .navi-mini-calendar { grid-column:1/-1;grid-row:4;margin:0; }
  body:has(#navi-app) .navi-quick-menu { grid-column:1/-1;grid-row:5;margin:0; }
  body:has(#navi-app) .navi-command { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:215px;padding:18px 26px; }
  body:has(#navi-app) .navi-command .navi-daily-step { margin:0 0 4px;text-align:left; }
  body:has(#navi-app) .navi-command h2 { margin:0 0 8px;font-size:clamp(2.4rem,4vw,4.3rem); }
  body:has(#navi-app) .navi-command-state { margin:0; }
  body:has(#navi-app) .navi-command-progress { display:none; }
  body:has(#navi-app) .navi-command-date-check { display:none; }
  body:has(#navi-app) .navi-mini-day { min-height:62px; }
  body:has(#navi-app) .navi-roadmap { padding-top:28px; }
}

/* Fit the reference cockpit in the first viewport without hiding controls. */
@media(max-width:800px) {
  body:has(#navi-app) .navi-sync { position:absolute;top:18px;right:16px;z-index:40;width:auto;margin:0;padding:0; }
  body:has(#navi-app) .navi-sync > p { display:none; }
  body:has(#navi-app) .navi-sync > details summary { min-height:36px;padding:7px 9px;border:1px solid #3b77a9;border-radius:50%;font-size:0; }
  body:has(#navi-app) .navi-sync > details summary::before { content:'●';font-size:1rem;color:#d9edff; }
  body:has(#navi-app) .navi-dash-head { display:flex;align-items:center;min-height:72px;margin:0 0 6px; }
  body:has(#navi-app) .navi-cockpit-title { margin:0;font-size:1.35rem; }
  body:has(#navi-app) .navi-cockpit-title img { width:43px;height:43px; }
  body:has(#navi-app) .navi-command { height:143px;min-height:143px;padding:10px 13px; }
  body:has(#navi-app) .navi-command .navi-daily-step { font-size:.8rem; }
  body:has(#navi-app) .navi-command .navi-daily-step small { display:none; }
  body:has(#navi-app) .navi-command h2 { margin:8px 0 5px;font-size:1.75rem; }
  body:has(#navi-app) .navi-command-state { font-size:.75rem; }
  body:has(#navi-app) .navi-roadmap { margin:7px 0;padding:22px 7px 8px; }
  body:has(#navi-app) .navi-roadmap h2 { margin:0 0 7px;font-size:.98rem; }
  body:has(#navi-app) .navi-roadmap > p { display:none; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:69px;gap:3px; }
  body:has(#navi-app) .navi-roadmap-track button span { width:34px;height:34px; }
  body:has(#navi-app) .navi-roadmap-track button strong { font-size:.5rem;line-height:1.25; }
  body:has(#navi-app) .navi-managed { padding:10px; }
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:105px minmax(0,1fr);gap:5px;margin:0; }
  body:has(#navi-app) .navi-flow-logo { max-height:103px; }
  body:has(#navi-app) .navi-flow-status { padding:6px; }
  body:has(#navi-app) .navi-flow-metrics button { min-height:34px; }
  body:has(#navi-app) .navi-flow-kpis { margin:6px 0;gap:5px; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:52px; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1.2rem; }
  body:has(#navi-app) .navi-flow-today { min-height:48px;padding:6px 9px; }
  body:has(#navi-app) .navi-flow-phase { margin:5px 0 2px;font-size:.66rem; }
  body:has(#navi-app) .navi-safe { margin:2px 0;font-size:.72rem; }
  body:has(#navi-app) #navi-exceptions { font-size:.7rem; }
  body:has(#navi-app) .navi-cockpit-content { gap:8px;margin-top:7px; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-command { height:207px;min-height:207px;justify-content:flex-start;gap:4px;padding:14px 26px;overflow:hidden; }
  body:has(#navi-app) .navi-command .navi-daily-step { align-self:flex-start;justify-self:start;margin:0;text-align:left;font-size:.95rem; }
  body:has(#navi-app) .navi-command .navi-daily-step small { display:none; }
  body:has(#navi-app) .navi-command h2 { align-self:flex-start;margin:1px 0 4px;font-size:3.4rem;line-height:1.1; }
  body:has(#navi-app) .navi-command-state { align-self:flex-start; }
  body:has(#navi-app) .navi-command-today { display:none; }
  body:has(#navi-app) .navi-roadmap { padding:20px 16px 5px; }
  body:has(#navi-app) .navi-roadmap h2 { margin-bottom:4px; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:70px;gap:2px; }
  body:has(#navi-app) .navi-roadmap-track button span { width:38px;height:38px; }
  body:has(#navi-app) .navi-managed { grid-template-columns:160px minmax(0,1fr) minmax(370px,.95fr);padding:8px 14px; }
  body:has(#navi-app) .navi-flow-logo { max-height:138px; }
  body:has(#navi-app) .navi-flow-metrics button { min-height:32px; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:61px; }
  body:has(#navi-app) .navi-flow-today { min-height:38px;padding:4px 10px; }
  body:has(#navi-app) .navi-flow-today::before { width:27px;height:27px; }
  body:has(#navi-app) .navi-flow-phase { font-size:.68rem; }
  body:has(#navi-app) .navi-safe { font-size:.68rem; }
  body:has(#navi-app) #navi-exceptions { margin:0; }
}

/* Brand/countdown typography and usable controls. */
body:has(#navi-app) .navi-countdown { display:flex;align-items:baseline;flex-wrap:wrap;gap:.2em;color:#fff;letter-spacing:.01em; }
body:has(#navi-app) .navi-countdown span { font-size:.73em;font-weight:750; }
body:has(#navi-app) .navi-countdown small { font-size:.38em;font-weight:700; }
body:has(#navi-app) .navi-countdown strong { color:#fff;font-size:1.32em;line-height:1;text-shadow:0 0 12px rgba(75,155,255,.55); }
body:has(#navi-app) .navi-countdown em { font-size:.68em;font-style:normal;font-weight:700; }
body:has(#navi-app) .navi-cockpit-nav > a::before { display:block;margin:0 auto 4px;color:#c9e3f8;font-size:1.35rem;line-height:1; }
body:has(#navi-app) .navi-cockpit-nav__today::before { content:'⌂'; }
body:has(#navi-app) .navi-cockpit-nav__process::before { content:'☷'; }
body:has(#navi-app) .navi-cockpit-nav__schedule::before { content:'▦'; }
body:has(#navi-app) .navi-cockpit-nav__all::before { content:'▥'; }
body:has(#navi-app) .navi-cockpit-nav__search::before { content:'⌕'; }
body:has(#navi-app) .navi-cockpit-nav a[aria-current="page"]::before { color:#fff; }
body:has(#navi-app) .navi-cockpit-nav a[aria-current="page"] { background:rgba(22,102,181,.48);box-shadow:inset 3px 0 #25aaff; }
body:has(#navi-app) .navi-quick-menu a:focus-visible,body:has(#navi-app) .navi-alerts button:focus-visible,body:has(#navi-app) .navi-flow-kpis > *:focus-visible { outline:2px solid #9ee8ff;outline-offset:2px; }
@media(max-width:800px) {
  body:has(#navi-app) .navi-countdown { font-size:1.55rem!important; }
  body:has(#navi-app) .navi-countdown strong { font-size:1.48em; }
  body:has(#navi-app) .navi-countdown span { font-size:.8em; }
  body:has(#navi-app) .navi-countdown small { font-size:.48em; }
  body:has(#navi-app) .navi-roadmap-track button strong { font-size:.61rem;line-height:1.3; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:78px; }
  body:has(#navi-app) .navi-flow-status h2 { font-size:.8rem; }
  body:has(#navi-app) .navi-flow-status p { font-size:.7rem; }
  body:has(#navi-app) .navi-flow-metrics span { font-size:.68rem; }
  body:has(#navi-app) .navi-flow-kpis span { font-size:.77rem; }
  body:has(#navi-app) .navi-flow-today strong { font-size:1rem; }
  body:has(#navi-app) .navi-cockpit-nav > a { min-height:57px;padding:5px 0;font-size:.78rem; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-countdown { font-size:3rem!important; }
  body:has(#navi-app) .navi-countdown span { font-size:.78em; }
  body:has(#navi-app) .navi-countdown strong { font-size:1.46em; }
  body:has(#navi-app) .navi-cockpit-nav > a { gap:12px; }
  body:has(#navi-app) .navi-cockpit-nav > a::before { display:inline-block;width:24px;margin:0;font-size:1.5rem;text-align:center; }
  body:has(#navi-app) .navi-dash-head .navi-cockpit-title { display:flex;flex-direction:column;align-items:center;text-align:center;font-size:1.02rem; }
  body:has(#navi-app) .navi-dash-head .navi-cockpit-title img { width:64px;height:64px; }
  body:has(#navi-app) .navi-dash-head .navi-cockpit-title small { font-size:.62rem; }
  body:has(#navi-app) .navi-daily:has(.navi-today-list:empty) { min-height:160px; }
}

/* Keep the FLOW ENGINE element measurable for its existing in-view motion observer. */
@media(min-width:1200px) {
  body:has(#navi-app) .navi-flow-engine { display:grid;grid-column:1/3;grid-row:1;grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:'device console' 'device metrics';align-items:center;gap:4px 14px;min-height:125px;margin:0; }
  body:has(#navi-app) .navi-flow-visual { grid-area:device;grid-column:auto;grid-row:auto; }
  body:has(#navi-app) .navi-flow-console { grid-area:console;grid-column:auto;grid-row:auto; }
  body:has(#navi-app) .navi-flow-metrics { grid-area:metrics;grid-column:auto;grid-row:auto; }
  body:has(#navi-app) .navi-flow-kpis { grid-column:3;grid-row:1; }
  body:has(#navi-app) .navi-flow-today { grid-column:2/4;grid-row:2; }
  body:has(#navi-app) .navi-flow-phase { grid-column:1/3;grid-row:3; }
  body:has(#navi-app) .navi-safe,body:has(#navi-app) .navi-important { grid-column:3;grid-row:3; }
  body:has(#navi-app) #navi-exceptions { grid-column:1/-1;grid-row:4; }
}

/* Keep secondary FLOW ENGINE controls accessible without overwhelming the overview. */
body:has(#navi-app) .navi-flow-operational { grid-area:metrics;min-width:0; }
body:has(#navi-app) .navi-flow-operational > summary,body:has(#navi-app) .navi-flow-context > summary { min-height:28px;padding:4px 8px;border:1px solid #3a709c;border-radius:7px;background:rgba(12,51,84,.7);color:#cce9fa;font-size:.72rem;cursor:pointer; }
body:has(#navi-app) .navi-flow-operational[open] .navi-flow-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:5px; }
body:has(#navi-app) .navi-flow-context { min-width:0; }
body:has(#navi-app) .navi-flow-context[open] { padding-top:4px; }
body:has(#navi-app) .navi-quick-menu,body:has(#navi-app) .navi-master-note { border:1px solid #326b9a;background:#103457;color:#eaf6ff; }
body:has(#navi-app) .navi-master-note > summary { color:#eef8ff; }
body:has(#navi-app) .navi-master-note[open] { color:#eaf6ff; }
body:has(#navi-app) .navi-quick-menu a { color:#f5fbff; }
@media(max-width:800px) {
  body:has(#navi-app) .navi-flow-operational { grid-column:1/-1; }
  body:has(#navi-app) .navi-flow-context { margin-top:5px; }
  body:has(#navi-app) .navi-managed { padding-bottom:9px; }
  body:has(#navi-app) .navi-flow-kpis { margin-top:7px; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-flow-operational { grid-area:metrics;grid-column:auto;grid-row:auto;align-self:start; }
  body:has(#navi-app) .navi-flow-context { grid-column:1/-1;grid-row:3; }
  body:has(#navi-app) .navi-managed { grid-template-columns:160px minmax(0,1fr) minmax(370px,.95fr); }
  body:has(#navi-app) .navi-flow-today { grid-row:2; }
  body:has(#navi-app) .navi-mini-calendar { margin-top:0; }
}

@media(min-width:1200px) {
  body:has(#navi-app) .navi-managed { grid-template-rows:105px 40px 25px;gap:4px 12px;padding:6px 12px; }
  body:has(#navi-app) .navi-flow-engine { height:105px;min-height:0;grid-template-columns:125px minmax(0,1fr);gap:1px 10px; }
  body:has(#navi-app) .navi-flow-logo { max-height:102px; }
  body:has(#navi-app) .navi-flow-status { padding:5px 8px; }
  body:has(#navi-app) .navi-flow-status h2 { font-size:.83rem; }
  body:has(#navi-app) .navi-flow-status p { font-size:.68rem; }
  body:has(#navi-app) .navi-flow-count { margin:3px 0 0;font-size:.72rem; }
  body:has(#navi-app) .navi-flow-count strong { font-size:1rem; }
  body:has(#navi-app) .navi-flow-operational > summary { min-height:23px;padding:2px 7px;font-size:.66rem; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:56px; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1.42rem; }
  body:has(#navi-app) .navi-flow-today { min-height:36px;padding:3px 9px; }
  body:has(#navi-app) .navi-flow-today strong { font-size:.98rem; }
  body:has(#navi-app) .navi-flow-today span { font-size:.72rem; }
  body:has(#navi-app) .navi-flow-context > summary { min-height:22px;padding:1px 8px;font-size:.65rem; }
}

@media(max-width:1199px) { body:has(#navi-app) .navi-today-more { display:none; } }
@media(min-width:1200px) {
  body:has(#navi-app) .navi-daily > .navi-today-list > li:nth-child(n+4) { display:none; }
  body:has(#navi-app) .navi-today-more { margin-top:8px;border:1px solid #3a709c;border-radius:8px; }
  body:has(#navi-app) .navi-today-more > summary { min-height:34px;padding:5px 10px;color:#d9f1ff;font-size:.82rem;cursor:pointer; }
  body:has(#navi-app) .navi-today-more .navi-today-list { margin:6px; }
}

body:has(#navi-app) .navi-today-heading-desktop { display:none; }
@media(min-width:1200px) {
  body:has(#navi-app) .navi-today-heading-mobile { display:none; }
  body:has(#navi-app) .navi-today-heading-desktop { display:inline; }
}

@media(min-width:1200px) {
  body:has(#navi-app) .navi-daily { grid-column:1;grid-row:2;min-height:0;padding:10px 14px; }
  body:has(#navi-app) .navi-daily h2 { margin:0 0 4px;font-size:1.08rem; }
  body:has(#navi-app) .navi-daily > p { margin:0 0 5px;font-size:.76rem;line-height:1.35; }
  body:has(#navi-app) .navi-daily > p[role="status"]:empty { display:none; }
  body:has(#navi-app) .navi-today-list { gap:4px; }
  body:has(#navi-app) .navi-today-item { min-height:43px;padding:4px 8px;align-items:center; }
  body:has(#navi-app) .navi-today-item__title { font-size:.8rem;line-height:1.25; }
  body:has(#navi-app) .navi-today-item__meta { max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;line-height:1.2; }
  body:has(#navi-app) .navi-quick-done { min-height:39px;padding:4px 8px; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions { margin-top:6px; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions .btn { min-height:34px;padding:5px 11px;font-size:.76rem; }
  body:has(#navi-app) .navi-alerts { grid-column:2;grid-row:2; }
  body:has(#navi-app) .navi-mini-calendar { grid-column:1/-1;grid-row:3; }
  body:has(#navi-app) .navi-nearby { grid-column:2;grid-row:4; }
  body:has(#navi-app) .navi-quick-menu { grid-column:1;grid-row:4; }
}

@media(min-width:1200px) {
  body:has(#navi-app) .navi-daily { position:relative; }
  body:has(#navi-app) .navi-daily h2 { padding-right:285px; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions { position:absolute;top:9px;right:12px;margin:0; }
  body:has(#navi-app) .navi-today-more:not([open]) { position:absolute;top:9px;right:153px;width:124px;margin:0; }
  body:has(#navi-app) .navi-today-more:not([open]) > summary { min-height:33px;padding:5px 8px; }
  body:has(#navi-app) .navi-today-more[open] { position:relative;top:auto;right:auto; }
}

/* Reference-only finish: keep the existing task controls and FLOW ENGINE intact. */
body:has(#navi-app) .navi-today-item {
  background:#0d3154;
  border-color:#285e91;
  color:#f2f8ff;
}
body:has(#navi-app) .navi-today-item__title { color:#f2f8ff; }
body:has(#navi-app) .navi-today-item__meta { color:#afcbe3; }
body:has(#navi-app) .navi-quick-done {
  background:#123c64;
  border-color:#3a83bd;
  color:#e9f6ff;
}
body:has(#navi-app) .navi-daily > .navi-today-list { counter-reset:navi-action; }
body:has(#navi-app) .navi-daily > .navi-today-list > li { counter-increment:navi-action;grid-template-columns:36px minmax(0,1fr) auto; }
body:has(#navi-app) .navi-daily > .navi-today-list > li > .navi-today-item { grid-column:2; }
body:has(#navi-app) .navi-daily > .navi-today-list > li > .navi-quick-done { grid-column:3; }
body:has(#navi-app) .navi-daily > .navi-today-list > li::before {
  content:counter(navi-action, decimal-leading-zero);
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:none;
  border-radius:50%;
  background:linear-gradient(145deg,#58baff,#0877d5);
  box-shadow:0 0 12px rgba(21,146,255,.55);
  color:#fff;
  font-size:.84rem;
  font-weight:800;
  grid-column:1;
  grid-row:1;
}
body:has(#navi-app) .navi-mini-calendar a { color:#e1f1ff; }
body:has(#navi-app) .navi-alerts button {
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  grid-template-rows:auto auto auto;
  column-gap:12px;
  align-content:center;
  min-height:94px;
}
body:has(#navi-app) .navi-alerts button::before {
  display:grid;
  place-items:center;
  grid-column:1;
  grid-row:1/4;
  width:70px;
  height:70px;
  border:1px solid #816d4f;
  border-radius:12px;
  background:rgba(255,189,82,.1);
  color:#ffd47b;
  font-size:2.2rem;
}
body:has(#navi-app) .navi-alerts button:first-child::before { content:'▦'; }
body:has(#navi-app) .navi-alerts button:last-child::before { content:'▤';border-color:#286f78;background:rgba(51,205,188,.09);color:#6eebd4; }
body:has(#navi-app) .navi-alerts button > * { grid-column:2; }
@media(max-width:800px) {
  body:has(#navi-app) .navi-roadmap { margin:6px 0;padding:15px 7px 5px; }
  body:has(#navi-app) .navi-roadmap h2 { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:66px; }
  body:has(#navi-app) .navi-roadmap-track button[data-current="true"]::before { top:-16px; }
  body:has(#navi-app) .navi-managed { position:relative;height:231px;min-height:231px;padding:8px 10px; }
  body:has(#navi-app) .navi-flow-engine { position:absolute;top:8px;left:10px;right:10px;display:grid;grid-template-columns:128px minmax(0,1fr);grid-template-rows:73px 55px;gap:2px 7px;height:130px;margin:0;min-height:0; }
  body:has(#navi-app) .navi-flow-visual { grid-area:auto;grid-column:1;grid-row:1/3; }
  body:has(#navi-app) .navi-flow-logo { max-height:125px; }
  body:has(#navi-app) .navi-flow-console { grid-area:auto;grid-column:2;grid-row:1;align-self:start; }
  body:has(#navi-app) .navi-flow-status { display:block;min-height:51px;padding:6px 7px; }
  body:has(#navi-app) .navi-flow-status h2 { font-size:.76rem; }
  body:has(#navi-app) .navi-flow-status p { font-size:.64rem; }
  body:has(#navi-app) .navi-flow-count { margin:3px 0 0; }
  body:has(#navi-app) .navi-flow-operational { position:absolute;right:1px;top:74px;width:26px;z-index:4; }
  body:has(#navi-app) .navi-flow-operational > summary { width:26px;height:26px;min-height:0;padding:0;display:grid;place-items:center;font-size:0; }
  body:has(#navi-app) .navi-flow-operational > summary::after { content:'⋯';font-size:1rem; }
  body:has(#navi-app) .navi-flow-operational[open] { right:0;width:min(290px,85vw);padding:5px;border:1px solid #3a709c;border-radius:8px;background:#0b3052; }
  body:has(#navi-app) .navi-flow-kpis { position:absolute;top:84px;left:139px;right:10px;margin:0;gap:3px; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:58px; }
  body:has(#navi-app) .navi-flow-kpis span { font-size:.62rem; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1.15rem; }
  body:has(#navi-app) .navi-flow-kpis small { font-size:.58rem; }
  body:has(#navi-app) .navi-flow-today { position:absolute;top:148px;left:10px;right:10px;min-height:51px;padding:6px 10px; }
  body:has(#navi-app) .navi-flow-context { position:absolute;left:10px;right:10px;bottom:6px;margin:0; }
  body:has(#navi-app) .navi-flow-context > summary { min-height:20px;padding:1px 8px;font-size:.65rem; }
  body:has(#navi-app) .navi-flow-context[open] { z-index:5;left:8px;right:8px;bottom:auto;top:205px;padding:8px;border:1px solid #3a709c;border-radius:8px;background:#0b3052; }
  body:has(#navi-app) .navi-alerts button { grid-template-columns:42px minmax(0,1fr);gap:0 7px;min-height:82px;padding:6px; }
  body:has(#navi-app) .navi-alerts button::before { width:42px;height:42px;font-size:1.5rem; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:150px minmax(0,1fr); }
  body:has(#navi-app) .navi-flow-logo { max-height:125px; }
}

/* Keep each mobile FLOW ENGINE control in its own grid cell. */
@media(max-width:800px) {
  body:has(#navi-app) .navi-managed { display:grid;grid-template-columns:125px minmax(0,1fr);grid-template-rows:90px 64px 24px 62px 24px;gap:4px 8px;height:auto;min-height:0;padding:8px;overflow:visible; }
  body:has(#navi-app) .navi-flow-engine { position:relative;top:auto;left:auto;right:auto;grid-column:1/3;grid-row:1/4;grid-template-columns:125px minmax(0,1fr);grid-template-rows:90px 64px 24px;height:auto;min-height:0; }
  body:has(#navi-app) .navi-flow-visual { grid-column:1;grid-row:1/3; }
  body:has(#navi-app) .navi-flow-console { grid-column:2;grid-row:1; }
  body:has(#navi-app) .navi-flow-operational { position:relative;top:auto;left:auto;right:auto;grid-area:auto;grid-column:1/3;grid-row:3;width:auto; }
  body:has(#navi-app) .navi-flow-operational > summary { display:block;width:100%;height:24px;min-height:24px;padding:2px 8px;font-size:.68rem; }
  body:has(#navi-app) .navi-flow-operational > summary::after { content:none; }
  body:has(#navi-app) .navi-flow-operational[open] { position:relative;left:auto;right:auto;width:auto; }
  body:has(#navi-app) .navi-flow-kpis { position:relative;top:auto;left:auto;right:auto;z-index:1;grid-column:2;grid-row:2;align-self:stretch;height:64px; }
  body:has(#navi-app) .navi-flow-today { position:relative;top:auto;left:auto;right:auto;grid-column:1/3;grid-row:4; }
  body:has(#navi-app) .navi-flow-context { position:relative;left:auto;right:auto;bottom:auto;grid-column:1/3;grid-row:5; }
  body:has(#navi-app) .navi-flow-context[open] { position:relative;left:auto;right:auto;top:auto;grid-row:5; }
  body:has(#navi-app) .navi-managed:has(.navi-flow-operational[open]) { grid-template-rows:90px 64px auto 62px auto; }
  body:has(#navi-app) .navi-managed:has(.navi-flow-operational[open]) .navi-flow-engine { grid-template-rows:90px 64px auto; }
  body:has(#navi-app) .navi-managed:has(.navi-flow-context[open]) { grid-template-rows:90px 64px 24px 62px auto; }
}

@media(min-width:1200px) {
  body:has(#navi-app) .navi-mini-calendar { display:grid;grid-template-columns:minmax(0,2.5fr) minmax(280px,1fr);gap:5px 16px;align-items:start; }
  body:has(#navi-app) .navi-mini-calendar > .navi-panel-heading,
  body:has(#navi-app) .navi-mini-calendar > p:first-of-type,
  body:has(#navi-app) .navi-mini-grid { grid-column:1; }
  body:has(#navi-app) .navi-mini-detail { grid-column:2;grid-row:1/4;min-height:115px; }
  body:has(#navi-app) .navi-next-important { grid-column:2; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap { min-height:0;padding:8px 16px 4px; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap h2 { margin:0 0 4px;font-size:1rem; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track button { min-height:60px;padding:2px 4px; }
  body:has(#navi-app) .navi-managed { grid-template-rows:93px 36px 22px;gap:3px 12px;padding:6px 12px; }
  body:has(#navi-app) .navi-flow-engine { height:93px; }
  body:has(#navi-app) .navi-flow-logo { max-height:112px; }
  body:has(#navi-app) .navi-command .navi-daily-step small { display:block;margin-top:3px;font-size:.75rem; }
  body:has(#navi-app .navi-dashboard) .navi-command::after { top:25px;left:45%;right:auto;bottom:auto;width:270px;font-size:1.08rem;line-height:1.65;letter-spacing:.12em;text-align:left; }
}

/* Reference-image proportions: keep the same live data and controls, but put
   the mobile calendar and quick menu ahead of the long task list. */
body:has(#navi-app) .navi-cockpit-title img { filter:brightness(2.2) saturate(1.5);mix-blend-mode:multiply; }
@media(max-width:800px) {
  body:has(#navi-app) .navi-daily { order:6; }
  body:has(#navi-app) .navi-nearby { order:7; }
  body:has(#navi-app) .navi-dash-head { min-height:72px;margin-bottom:6px; }
  body:has(#navi-app) .navi-cockpit-title img { width:53px;height:53px; }
  body:has(#navi-app) .navi-command { height:143px;min-height:143px;padding:10px 13px; }
  body:has(#navi-app) .navi-command .navi-daily-step { max-width:64%;font-size:.95rem; }
  body:has(#navi-app) .navi-command h2 { margin:8px 0 5px;font-size:1.85rem; }
  body:has(#navi-app) .navi-command::after { top:16px;right:12px;width:130px;font-size:.69rem; }
  body:has(#navi-app) .navi-roadmap { margin-top:6px;margin-bottom:9px; }
  body:has(#navi-app) .navi-managed { grid-template-rows:90px 64px 24px 62px 24px;gap:4px 8px;padding:8px; }
  body:has(#navi-app) .navi-flow-engine { grid-template-rows:90px 64px 24px; }
  body:has(#navi-app) .navi-flow-visual { align-self:center; }
  body:has(#navi-app) .navi-flow-logo { max-height:112px; }
  body:has(#navi-app) .navi-flow-status { min-height:51px; }
  body:has(#navi-app) .navi-flow-kpis { height:64px;margin:0; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:58px;padding:2px 0; }
  body:has(#navi-app) .navi-alerts button { min-height:70px; }
  body:has(#navi-app) .navi-quick-menu a { min-height:90px; }
}

/* Mobile reference: one compact cockpit before the calendar. The disclosures
   retain the original management and exception controls. */
@media(max-width:800px) {
  body:has(#navi-app) .navi-dash-head { height:55px;min-height:55px;margin-bottom:0; }
  body:has(#navi-app) .navi-command { height:125px;min-height:125px; }
  body:has(#navi-app) .navi-command .navi-daily-step { font-size:.78rem; }
  body:has(#navi-app) .navi-command h2 { margin:6px 0 4px;font-size:1.75rem; }
  body:has(#navi-app) .navi-command-state { font-size:.68rem;padding:2px 7px; }
  body:has(#navi-app) .navi-roadmap { position:relative;padding:19px 7px 3px;margin:5px 0 7px; }
  body:has(#navi-app) .navi-roadmap h2 { display:none; }
  body:has(#navi-app) .navi-roadmap::after { content:'全8ステップ';position:absolute;top:5px;right:10px;color:#d5e7f8;font-size:.69rem; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:69px; }
  body:has(#navi-app) .navi-managed { position:relative;grid-template-columns:108px minmax(0,1fr);grid-template-rows:58px 58px 50px;gap:3px 7px;padding:6px; }
  body:has(#navi-app) .navi-flow-engine { position:relative;grid-column:1/3;grid-row:1/3;grid-template-columns:108px minmax(0,1fr);grid-template-rows:58px 58px;min-height:0;margin:0; }
  body:has(#navi-app) .navi-flow-visual { grid-column:1;grid-row:1/3; }
  body:has(#navi-app) .navi-flow-logo { max-height:105px; }
  body:has(#navi-app) .navi-flow-console { grid-column:2;grid-row:1; }
  body:has(#navi-app) .navi-flow-status { min-height:48px;padding:4px 28px 4px 5px; }
  body:has(#navi-app) .navi-flow-status p { font-size:.61rem; }
  body:has(#navi-app) .navi-flow-count { margin:1px 0 0;font-size:.65rem; }
  body:has(#navi-app) .navi-flow-kpis { grid-column:2;grid-row:2;height:58px;margin:0;gap:2px; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:54px;padding:1px 0; }
  body:has(#navi-app) .navi-flow-kpis span { font-size:.6rem; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1rem; }
  body:has(#navi-app) .navi-flow-kpis small { font-size:.55rem; }
  body:has(#navi-app) .navi-flow-operational { position:absolute;top:3px;right:3px;z-index:7;width:25px; }
  body:has(#navi-app) .navi-flow-operational > summary { width:25px;height:25px;min-height:25px;padding:0;display:grid;place-items:center;font-size:0; }
  body:has(#navi-app) .navi-flow-operational > summary::after { content:'›';font-size:1.15rem; }
  body:has(#navi-app) .navi-flow-operational[open] { top:3px;right:3px;width:min(310px,84vw);padding:4px;border:1px solid #3a709c;border-radius:8px;background:#0b3052; }
  body:has(#navi-app) .navi-flow-operational[open] > summary { margin-left:auto; }
  body:has(#navi-app) .navi-flow-today { grid-column:1/3;grid-row:3;min-height:50px;padding:3px 35px 3px 7px;gap:1px 6px; }
  body:has(#navi-app) .navi-flow-today::before { width:26px;height:26px;font-size:1rem; }
  body:has(#navi-app) .navi-flow-today strong { font-size:.91rem; }
  body:has(#navi-app) .navi-flow-today span { font-size:.66rem; }
  body:has(#navi-app) .navi-flow-context { position:absolute;right:12px;bottom:13px;z-index:6;width:25px;margin:0; }
  body:has(#navi-app) .navi-flow-context > summary { width:25px;height:25px;min-height:25px;padding:0;display:grid;place-items:center;font-size:0; }
  body:has(#navi-app) .navi-flow-context > summary::after { content:'›';font-size:1.15rem; }
  body:has(#navi-app) .navi-flow-context[open] { right:6px;bottom:6px;width:min(330px,88vw);padding:5px;border:1px solid #3a709c;border-radius:8px;background:#0b3052; }
  body:has(#navi-app) .navi-alerts button { min-height:60px; }
}

/* The supplied brand mark is shown directly from the supplied reference image;
   no substitute symbol is drawn. */
body:has(#navi-app) .navi-cockpit-title img { display:none; }
body:has(#navi-app) .navi-cockpit-title::before { content:'';display:block;flex:none;width:38px;height:40px;background:url('/assets/img/navi-mobile-reference-source.png') -21px -39px / 426px 923px no-repeat; }
body:has(#navi-app) .navi-flow-count { display:none; }
@media(max-width:800px) {
  body:has(#navi-app) .navi-managed { grid-template-rows:64px 58px 50px; }
  body:has(#navi-app) .navi-flow-engine { grid-template-rows:64px 58px; }
  body:has(#navi-app) .navi-flow-status { min-height:59px; }
  body:has(#navi-app) .navi-flow-status h2 { white-space:normal;font-size:.71rem;line-height:1.1; }
  body:has(#navi-app) .navi-flow-status h2 strong { font-size:.66rem; }
  body:has(#navi-app) .navi-flow-status p { line-height:1.15; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-dash-head .navi-cockpit-title::before { width:70px;height:80px;background-position:-43px -77px;background-size:852px 1846px; }
}
@media(max-width:800px) {
  body:has(#navi-app) .navi-roadmap { margin-top:0;margin-bottom:3px;padding-bottom:0; }
  body:has(#navi-app) .navi-roadmap-track button { min-height:60px;gap:2px; }
  body:has(#navi-app) .navi-roadmap-track button span { width:26px;height:26px; }
  body:has(#navi-app) .navi-roadmap-track button strong { font-size:.48rem;line-height:1.05; }
  body:has(#navi-app) .navi-roadmap-track::before { top:13px; }
  body:has(#navi-app) .navi-managed { grid-template-rows:60px 54px 46px; }
  body:has(#navi-app) .navi-flow-engine { grid-template-rows:60px 54px; }
  body:has(#navi-app) .navi-flow-status { min-height:56px; }
  body:has(#navi-app) .navi-flow-kpis { height:54px; }
  body:has(#navi-app) .navi-flow-kpis > * { min-height:51px; }
  body:has(#navi-app) .navi-flow-today { min-height:46px; }
  body:has(#navi-app) .navi-alerts button { min-height:53px;grid-template-columns:37px minmax(0,1fr);padding:4px; }
  body:has(#navi-app) .navi-alerts button::before { width:37px;height:37px;font-size:1.25rem; }
  body:has(#navi-app) .navi-alerts button small { display:none; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:150px 180px minmax(0,1fr);grid-template-rows:68px 25px;grid-template-areas:'device brand console' 'device brand metrics';column-gap:9px; }
  body:has(#navi-app) .navi-flow-engine::before { content:'SHITAKU\A FLOW ENGINE';grid-area:brand;align-self:center;color:#fff;font-size:1.17rem;font-weight:800;line-height:1.17;white-space:pre; }
  body:has(#navi-app) .navi-flow-visual { justify-content:flex-start;overflow:visible; }
  body:has(#navi-app) .navi-flow-logo { width:190px;max-width:none;max-height:none;height:auto;transform:translateX(-20px); }
  body:has(#navi-app) .navi-flow-console { align-self:start; }
  body:has(#navi-app) .navi-flow-status { min-height:67px;padding:7px 12px; }
  body:has(#navi-app) .navi-flow-status h2 { font-size:1.16rem; }
  body:has(#navi-app) .navi-flow-status p { font-size:.87rem; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1.75rem; }
}
@media(min-width:1200px) {
  body:has(#navi-app) .navi-managed { position:relative; }
  body:has(#navi-app) .navi-flow-engine { position:relative;grid-template-areas:'device brand console' 'device brand console'; }
  body:has(#navi-app) .navi-flow-logo { width:165px;transform:translate(1px,13px); }
  body:has(#navi-app) .navi-flow-status { padding-right:39px; }
  body:has(#navi-app) .navi-flow-operational { position:absolute;top:13px;right:6px;z-index:7;width:26px; }
  body:has(#navi-app) .navi-flow-operational > summary { display:grid;place-items:center;width:26px;height:26px;min-height:26px;padding:0;font-size:0; }
  body:has(#navi-app) .navi-flow-operational > summary::after { content:'›';font-size:1.2rem; }
  body:has(#navi-app) .navi-flow-operational[open] { width:310px;padding:5px;border:1px solid #3a709c;border-radius:8px;background:#0b3052; }
  body:has(#navi-app) .navi-flow-operational[open] > summary { margin-left:auto; }
  body:has(#navi-app) .navi-flow-context { position:absolute;right:17px;bottom:31px;z-index:6;width:26px; }
  body:has(#navi-app) .navi-flow-context > summary { display:grid;place-items:center;width:26px;height:26px;min-height:26px;padding:0;font-size:0; }
  body:has(#navi-app) .navi-flow-context > summary::after { content:'›';font-size:1.2rem; }
  body:has(#navi-app) .navi-flow-context[open] { right:17px;bottom:5px;width:330px;padding:5px;border:1px solid #3a709c;border-radius:8px;background:#0b3052; }
}

/* The attached desktop layout: sidebar, process rail, engine and two-column
   information panels. This block does not affect the approved mobile view. */
body:has(#navi-app) .navi-today-item__what,
body:has(#navi-app) .navi-today-item__date,
body:has(#navi-app) .navi-today-item__open,
body:has(#navi-app) .navi-today-all,
body:has(#navi-app) .navi-mini-month,
body:has(#navi-app) .navi-upcoming { display:none; }
body:has(#navi-app) .navi-desktop-masthead { display:none; }
body:has(#navi-app) .navi-open-marker { display:none; }
body:has(#navi-app) .navi-command .navi-daily-step strong { font:inherit; }
@media(min-width:1200px) {
  body:has(#navi-app .navi-dashboard) .product-workspace-section > .wrap { padding:50px 23px 24px; }
  body:has(#navi-app .navi-dashboard) .navi-dash-head { height:157px;min-height:157px;padding:18px 16px; }
  body:has(#navi-app .navi-dashboard) .navi-dash-head .navi-cockpit-title { font-size:1.24rem; }
  body:has(#navi-app .navi-dashboard) .navi-dash-head .navi-cockpit-title::before { width:55px;height:60px;background-size:670px 1450px;background-position:-35px -63px; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav { top:157px;padding:0 4px 18px;gap:8px; }
  body:has(#navi-app .navi-dashboard) .navi-cockpit-nav > a { min-height:65px;padding:12px 20px; }
  body:has(#navi-app) .navi-command { height:203px;min-height:203px; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap { display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 6px;min-height:109px;margin:12px 0 8px;padding:9px 21px; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap h2 { grid-column:1;grid-row:1;margin:0;align-self:end;font-size:1.1rem; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap > p { display:block;grid-column:1;grid-row:2;align-self:start;margin:2px 0 0;font-size:0; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap > p::after { content:'全8ステップ';font-size:.88rem;color:#d8e8f7; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track { grid-column:2;grid-row:1/3;align-self:center; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track button { min-height:75px;padding:2px 4px; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track button span { width:39px;height:39px; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track button strong { font-size:.73rem;line-height:1.2; }
  body:has(#navi-app) .navi-cockpit-content { grid-template-columns:minmax(0,2.6fr) minmax(330px,1fr);gap:10px 13px;margin-top:0; }
  body:has(#navi-app) .navi-managed { grid-template-rows:100px 40px;gap:3px 12px;min-height:160px;padding:7px 12px; }
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:160px 170px minmax(0,1fr);height:100px; }
  body:has(#navi-app) .navi-flow-engine::before { font-size:1.27rem; }
  body:has(#navi-app) .navi-flow-logo { width:180px;transform:translate(-8px,10px); }
  body:has(#navi-app) .navi-flow-kpis { align-self:start;margin-top:7px; }
  body:has(#navi-app) .navi-flow-kpis > * { height:68px;min-height:68px; }
  body:has(#navi-app) .navi-flow-today { min-height:40px; }
  body:has(#navi-app) .navi-daily { position:relative;padding:10px 16px; }
  body:has(#navi-app) .navi-daily h2 { display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:1.22rem; }
  body:has(#navi-app) .navi-today-all { display:inline;color:#dcefff;font-size:.83rem;font-weight:500;text-decoration:underline;text-underline-offset:4px; }
  body:has(#navi-app) .navi-daily:has(>.navi-today-list>li) > p:not([role="status"]) { display:none; }
  body:has(#navi-app) .navi-daily > .navi-today-list { gap:5px; }
  body:has(#navi-app) .navi-daily > .navi-today-list > li { min-height:47px;grid-template-columns:38px minmax(0,1fr) 47px;gap:5px; }
  body:has(#navi-app) .navi-daily > .navi-today-list > li::before { width:38px;height:38px; }
  body:has(#navi-app) .navi-today-item { display:grid;grid-template-columns:180px minmax(0,1fr) 95px 110px;gap:9px;align-items:center;min-height:46px;padding:4px 9px; }
  body:has(#navi-app) .navi-today-item__body { display:contents; }
  body:has(#navi-app) .navi-today-item__title { grid-column:1;font-size:.88rem;line-height:1.2; }
  body:has(#navi-app) .navi-today-item__meta { display:none; }
  body:has(#navi-app) .navi-today-item__what { display:block;grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b8d0e4;font-size:.73rem; }
  body:has(#navi-app) .navi-today-item__date { display:block;grid-column:3;color:#ffada7;font-size:.8rem;white-space:nowrap; }
  body:has(#navi-app) .navi-today-item__open { display:block;grid-column:4;padding:5px 7px;border:1px solid #327ec0;border-radius:7px;color:#ecf7ff;font-size:.78rem;text-align:center;white-space:nowrap; }
  body:has(#navi-app) .navi-quick-done { min-height:36px;padding:3px;font-size:.72rem; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions { position:absolute;top:4px;right:130px;margin:0; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions .btn { min-height:30px;font-size:.72rem; }
  body:has(#navi-app) .navi-today-more { position:absolute;top:4px;right:280px;margin:0; }
  body:has(#navi-app) .navi-today-more > summary { min-height:30px;font-size:.72rem; }
  body:has(#navi-app) .navi-mini-calendar { grid-column:1;grid-row:3;display:block;padding:10px 16px; }
  body:has(#navi-app) .navi-mini-calendar .navi-panel-heading { display:flex;align-items:center;justify-content:space-between; }
  body:has(#navi-app) .navi-mini-calendar .navi-panel-heading h2 { margin:0;font-size:1.2rem; }
  body:has(#navi-app) .navi-mini-month { display:flex;align-items:center;justify-content:center;gap:28px;margin:-29px 120px 10px;color:#f2f8ff; }
  body:has(#navi-app) .navi-mini-month strong { font-size:.95rem; }
  body:has(#navi-app) .navi-mini-month button { min-width:103px;min-height:31px;border:1px solid #327ebd;border-radius:7px;background:#0f3457;color:#f3faff;cursor:pointer; }
  body:has(#navi-app) .navi-mini-calendar > p:first-of-type { margin:0 0 6px;font-size:.77rem; }
  body:has(#navi-app) .navi-mini-day { min-height:51px; }
  body:has(#navi-app) .navi-mini-detail { max-height:45px;overflow:auto;margin-top:5px;padding:5px 9px; }
  body:has(#navi-app) .navi-mini-detail li button { font-size:.74rem; }
  body:has(#navi-app) .navi-next-important { display:none; }
  body:has(#navi-app) .navi-upcoming { display:block;grid-column:2;grid-row:3;min-height:149px;padding:9px 13px; }
  body:has(#navi-app) .navi-upcoming .navi-panel-heading { display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px; }
  body:has(#navi-app) .navi-upcoming h2 { margin:0;font-size:1rem; }
  body:has(#navi-app) .navi-upcoming .navi-panel-heading a { color:#dcefff;font-size:.76rem;text-decoration:underline;white-space:nowrap; }
  body:has(#navi-app) .navi-upcoming ul { margin:0;padding:0;list-style:none; }
  body:has(#navi-app) .navi-upcoming li { border-top:1px solid #28567e; }
  body:has(#navi-app) .navi-upcoming li button { display:grid;grid-template-columns:46px 10px minmax(0,1fr) 12px;gap:8px;align-items:center;width:100%;min-height:25px;padding:2px 3px;border:0;background:none;color:#e4f3ff;text-align:left;cursor:pointer; }
  body:has(#navi-app) .navi-upcoming time { font-size:.75rem;white-space:nowrap; }
  body:has(#navi-app) .navi-upcoming i { width:8px;height:8px;border-radius:50%;background:#66bfff; }
  body:has(#navi-app) .navi-upcoming i.is-critical { background:#ff737c; }
  body:has(#navi-app) .navi-upcoming li span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem; }
  body:has(#navi-app) .navi-upcoming b { font-size:1.1rem;font-weight:400; }
}
@media(min-width:1200px) {
  body:has(#navi-app .navi-dashboard) .product-workspace-section > .wrap { padding-top:39px; }
  body:has(#navi-app .navi-dashboard) .navi-command { box-sizing:border-box;height:203px;min-height:203px; }
  body:has(#navi-app) .navi-command .navi-daily-step { line-height:1.15; }
  body:has(#navi-app) .navi-command .navi-daily-step span { display:block;font-size:1.12rem;font-weight:500; }
  body:has(#navi-app) .navi-command .navi-daily-step strong { display:block;margin-top:5px;font-size:1.65rem;font-weight:800; }
  body:has(#navi-app) .navi-command .navi-daily-step small { display:none; }
  body:has(#navi-app) .navi-command h2 { margin-top:4px;font-size:3.25rem; }
  body:has(#navi-app) .navi-open-marker { position:absolute;top:45px;right:74px;display:flex;flex-direction:column;align-items:center;width:116px;color:#fff;text-align:center;text-shadow:0 2px 5px #09213b; }
  body:has(#navi-app) .navi-open-marker svg { width:43px;height:55px;filter:drop-shadow(0 0 11px #ffbf65); }
  body:has(#navi-app) .navi-open-marker strong { margin-top:2px;font-size:1.15rem;letter-spacing:.05em; }
  body:has(#navi-app) .navi-open-marker small { margin-top:6px;font-size:.7rem;line-height:1.4;text-align:left; }
  body:has(#navi-app) .navi-desktop-masthead { position:fixed;top:11px;right:172px;z-index:28;display:flex;align-items:center;gap:35px;color:#e2effd;font-size:.82rem;letter-spacing:.06em; }
  body:has(#navi-app) .navi-desktop-masthead time { white-space:nowrap; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap { grid-template-columns:165px minmax(0,1fr); }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track { transform:translateY(-5px); }
  body:has(#navi-app) .navi-managed { grid-template-columns:180px minmax(0,1.24fr) minmax(480px,.95fr); }
  body:has(#navi-app) .navi-flow-engine { grid-template-columns:173px 170px minmax(0,1fr); }
  body:has(#navi-app) .navi-flow-logo { transform:translate(-8px,23px); }
  body:has(#navi-app) .navi-daily h2 { justify-content:flex-start;gap:8px; }
  body:has(#navi-app) .navi-daily h2 { gap:22px; }
  body:has(#navi-app) .navi-today-all { margin-left:auto; }
  body:has(#navi-app) .navi-today-more { left:400px;right:auto; }
}

/* NAVI readability: keep light controls legible on the navy dashboard. */
body:has(#navi-app) .navi-calendar-detail li button {
  border-color:#4776a0;
  background:#0c3155;
  color:#f3f9ff;
}
body:has(#navi-app) .navi-calendar-detail li button em,
body:has(#navi-app) .navi-mini-detail li button em { color:#9fdfff; }
body:has(#navi-app) .navi-cal-day small { color:#bfd4e9; }
body:has(#navi-app) .navi-mini-detail span { color:#d1e3f3; }
body:has(#navi-app) .navi-cal-day.is-outside { opacity:.67; }
body:has(#navi-app) .navi-cal-day span em { font-size:.72rem;line-height:1.2; }
body:has(#navi-app) .navi-calendar-head button,
body:has(#navi-app) .navi-calendar-move button {
  min-height:36px;
  padding:6px 12px;
  border:1px solid #5a94bd;
  border-radius:7px;
  background:#113e67;
  color:#f2f8ff;
  font:inherit;
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
}
body:has(#navi-app) .navi-calendar-head button[aria-pressed="true"],
body:has(#navi-app) .navi-calendar-head button:hover,
body:has(#navi-app) .navi-calendar-move button:hover { border-color:#91d4ff;background:#1a5889; }
body:has(#navi-app) .navi-task-panel__meta > span { color:#17344b; }
body:has(#navi-app) .navi-sync > p { color:#dcecff; }
body:has(#navi-app) .navi-sync > p.is-saved::before { color:#7df0c9; }
body:has(#navi-app) .navi-area-card {
  border:1px solid #4776a0;
  background:#103b61;
  color:#f2f8ff;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
body:has(#navi-app) .navi-area-card__title { color:#f6fbff; }
body:has(#navi-app) .navi-area-card .navi-cat-card__stat { color:#d0e4f3; }
body:has(#navi-app) .navi-area-card__open { color:#a8ddff;font-size:.85rem;font-weight:700; }
body:has(#navi-app) .navi-area-card:hover,
body:has(#navi-app) .navi-area-card:focus-visible,
body:has(#navi-app) .navi-area-card[aria-pressed="true"] { border-color:#8dd4ff;background:#164a75;box-shadow:0 0 0 2px rgba(100,193,255,.22); }
body:has(#navi-app) .navi-area-card:focus-visible { outline:2px solid #d6f1ff;outline-offset:2px; }
body:has(#navi-app) .navi-calendar-detail li button:hover,
body:has(#navi-app) .navi-calendar-detail li button:focus-visible { border-color:#79c7ff;background:#174a75; }

@media (min-width:1200px) {
  body:has(#navi-app .navi-dashboard) .navi-command::after { content:'その一歩が、\A未来の福祉をつくる。';width:360px;white-space:pre-line;font-size:1.15rem;line-height:1.45;text-shadow:0 2px 12px #031b35; }
  body:has(#navi-app) .navi-open-marker small { font-size:.82rem;line-height:1.35; }
  body:has(#navi-app .navi-dashboard) .navi-dash-head .navi-cockpit-title small { font-size:.77rem;line-height:1.35; }
  body:has(#navi-app) .navi-flow-today span { font-size:.82rem;color:#e3f1fd; }
  body:has(#navi-app) .navi-alerts button small { font-size:.82rem;color:#d7e9f7; }
  body:has(#navi-app .navi-dashboard) .navi-roadmap-track button strong { font-size:.81rem;line-height:1.25; }
  body:has(#navi-app) .navi-flow-status h2 { font-size:1.08rem;line-height:1.25; }
  body:has(#navi-app) .navi-flow-status h2 strong { font-size:.82rem; }
  body:has(#navi-app) .navi-flow-status p { font-size:.82rem;line-height:1.45; }
  body:has(#navi-app) .navi-flow-kpis span { font-size:.82rem; }
  body:has(#navi-app) .navi-flow-kpis strong { font-size:1.55rem; }
  body:has(#navi-app) .navi-flow-today { font-size:.92rem;line-height:1.4; }
  body:has(#navi-app) .navi-daily { padding:12px 16px; }
  body:has(#navi-app) .navi-daily h2 { margin-bottom:12px;font-size:1.2rem;line-height:1.35; }
  body:has(#navi-app) .navi-today-all { font-size:.87rem; }
  body:has(#navi-app) .navi-daily > .navi-today-list > li { min-height:57px;grid-template-columns:38px minmax(0,1fr) 47px;gap:7px; }
  body:has(#navi-app) .navi-today-item { grid-template-columns:205px minmax(0,1fr) 72px 107px;gap:10px;min-height:55px;padding:5px 10px; }
  body:has(#navi-app) .navi-today-item__title { font-size:.88rem;line-height:1.35;font-weight:750; }
  body:has(#navi-app) .navi-today-item__what { color:#d5e5f2;font-size:.81rem;line-height:1.4; }
  body:has(#navi-app) .navi-today-item__date { font-size:.82rem;font-weight:700; }
  body:has(#navi-app) .navi-today-item__open { font-size:.81rem;font-weight:700; }
  body:has(#navi-app) .navi-quick-done { min-height:38px;font-size:.81rem; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions .btn,
  body:has(#navi-app) .navi-today-more > summary { min-height:32px;font-size:.81rem; }
  body:has(#navi-app) .navi-mini-calendar .navi-panel-heading h2 { font-size:1.2rem; }
  body:has(#navi-app) .navi-mini-calendar > p:first-of-type { font-size:.82rem;line-height:1.5; }
  body:has(#navi-app) .navi-mini-day { min-height:57px;font-size:.92rem; }
  body:has(#navi-app) .navi-mini-day small { font-size:.78rem; }
  body:has(#navi-app) .navi-mini-detail { max-height:none;font-size:.84rem; }
  body:has(#navi-app) .navi-mini-detail li button { font-size:.82rem; }
  body:has(#navi-app) .navi-upcoming { min-height:174px; }
  body:has(#navi-app) .navi-upcoming h2 { font-size:1.08rem; }
  body:has(#navi-app) .navi-upcoming li button { min-height:34px; }
  body:has(#navi-app) .navi-upcoming time,
  body:has(#navi-app) .navi-upcoming li span { font-size:.82rem; }
  body:has(#navi-app) .navi-calendar-detail li button { min-height:42px;font-size:.9rem; }
  body:has(#navi-app) .navi-calendar-detail li button em { font-size:.84rem; }
  body:has(#navi-app) .navi-cal-day small { font-size:.78rem; }
}

@media (min-width:1200px) and (max-width:1499px) {
  body:has(#navi-app) .navi-managed {
    grid-template-columns:180px minmax(0,1fr);
    grid-template-rows:72px 67px 43px;
    gap:5px 14px;
    min-height:205px;
  }
  body:has(#navi-app) .navi-flow-engine::before { display:none; }
  body:has(#navi-app) .navi-flow-engine {
    grid-column:1/-1;
    grid-row:1;
    grid-template-columns:180px minmax(0,1fr);
    grid-template-rows:72px;
    grid-template-areas:'device console';
    height:72px;
    min-height:72px;
  }
  body:has(#navi-app) .navi-flow-visual { grid-column:1;grid-row:1/3;align-self:center; }
  body:has(#navi-app) .navi-flow-logo { width:125px;transform:translate(18px,-13px); }
  body:has(#navi-app) .navi-flow-console { grid-column:2;grid-row:1;align-self:start; }
  body:has(#navi-app) .navi-flow-status { min-height:68px; }
  body:has(#navi-app) .navi-flow-kpis { grid-column:2;grid-row:2;align-self:stretch;min-width:0; }
  body:has(#navi-app) .navi-flow-kpis > * { height:62px;min-height:62px; }
  body:has(#navi-app) .navi-flow-today { grid-column:1/-1;grid-row:3; }
}

/* Keep the three action-panel controls separate until the content column is wide enough. */
@media (min-width:1200px) and (max-width:1669px) {
  body:has(#navi-app) .navi-daily { padding-bottom:48px; }
  body:has(#navi-app) .navi-daily h2 { padding-right:0; }
  body:has(#navi-app) .navi-today-more:not([open]) { top:auto;bottom:8px;left:16px;right:auto;height:auto; }
  body:has(#navi-app) .navi-daily > .navi-guide-actions { top:auto;bottom:8px;right:16px; }
}

@media (min-width:1200px) and (max-width:1349px) {
  body:has(#navi-app) .navi-today-item {
    grid-template-columns:minmax(0,1fr) 72px 107px;
    grid-template-rows:auto auto;
    min-height:69px;
  }
  body:has(#navi-app) .navi-today-item__title { grid-column:1;grid-row:1; }
  body:has(#navi-app) .navi-today-item__date { grid-column:2;grid-row:1; }
  body:has(#navi-app) .navi-today-item__open { grid-column:3;grid-row:1/3; }
  body:has(#navi-app) .navi-today-item__what { grid-column:1/3;grid-row:2; }
}

/* The week's controls and today's dated work live with the original FLOW ENGINE. */
body:has(#navi-app) .navi-managed { height:auto;overflow:visible; }
body:has(#navi-app) .navi-flow-today {
  display:block;min-width:0;min-height:0;padding:0;
  border:1px solid #326fa2;border-radius:10px;
  background:rgba(15,55,91,.75);
}
body:has(#navi-app) .navi-flow-today::before { content:none; }
body:has(#navi-app) .navi-flow-today__heading {
  display:flex;align-items:center;gap:12px;min-height:45px;
  padding:7px 12px;color:#f3faff;text-decoration:none;
}
body:has(#navi-app) .navi-flow-today__heading::before {
  content:'✓';display:grid;place-items:center;flex:none;
  width:29px;height:29px;border-radius:50%;background:#108be5;
  color:white;font-size:1.15rem;font-weight:800;
}
body:has(#navi-app) .navi-flow-today__heading strong { font-size:1.05rem;white-space:nowrap; }
body:has(#navi-app) .navi-flow-today__heading span { min-width:0;color:#d7e9f7;font-size:.82rem; }
body:has(#navi-app) .navi-flow-today__heading i,
body:has(#navi-app) .navi-flow-today__tasks i,
body:has(#navi-app) .navi-today-item__open i,
body:has(#navi-app) .navi-today-all i,
body:has(#navi-app) .navi-alerts button small i {
  display:inline-grid;place-items:center;flex:none;width:17px;height:20px;
  margin-left:auto;font-size:1.2rem;font-style:normal;font-weight:400;line-height:1;
}
body:has(#navi-app) .navi-flow-today__summary {
  display:flex;align-items:center;flex-wrap:wrap;gap:5px 17px;
  padding:7px 12px;border-top:1px solid #2c608d;color:#d7e9f7;font-size:.82rem;
}
body:has(#navi-app) .navi-flow-today__summary time { color:#fff;font-weight:750; }
body:has(#navi-app) .navi-flow-today__summary strong { color:#fff;font-size:inherit; }
body:has(#navi-app) .navi-flow-today__tasks {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
  margin:0;padding:0 12px 9px;list-style:none;
}
body:has(#navi-app) .navi-flow-today__tasks li { min-width:0; }
body:has(#navi-app) .navi-flow-today__tasks button {
  display:grid;grid-template-columns:minmax(0,1fr) auto 15px;gap:5px;align-items:center;
  width:100%;height:100%;min-height:38px;padding:6px 8px;
  border:1px solid #3b79aa;border-radius:7px;background:#103b61;
  color:#eef8ff;font:inherit;font-size:.76rem;text-align:left;cursor:pointer;
}
body:has(#navi-app) .navi-flow-today__tasks button span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
body:has(#navi-app) .navi-flow-today__tasks button span { grid-column:1;min-width:0; }
body:has(#navi-app) .navi-flow-today__tasks button em { grid-column:2; }
body:has(#navi-app) .navi-flow-today__tasks button i { grid-column:3; }
body:has(#navi-app) .navi-flow-today__tasks em { color:#a8dfff;font-size:.7rem;font-style:normal;white-space:nowrap; }
body:has(#navi-app) .navi-flow-today__empty { margin:0;padding:0 12px 10px;color:#c9ddec;font-size:.8rem; }
body:has(#navi-app) .navi-flow-today__more { margin:0 12px 9px;color:#dcefff; }
body:has(#navi-app) .navi-flow-today__more summary { cursor:pointer;font-size:.78rem; }
body:has(#navi-app) .navi-flow-today__more .navi-flow-today__tasks { padding:8px 0 0; }
body:has(#navi-app) .navi-flow-tools { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0; }
body:has(#navi-app) .navi-flow-tools details { min-width:0;border:1px solid #3b79aa;border-radius:8px;background:#103b61;color:#edf8ff; }
body:has(#navi-app) .navi-flow-tools details[open] { grid-column:1/-1; }
body:has(#navi-app) .navi-flow-tools summary,
body:has(#navi-app) .navi-flow-context > summary {
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;min-height:34px;padding:6px 10px;list-style:none;
  border:0;border-radius:7px;background:transparent;color:#e8f6ff;
  font-size:.82rem;font-weight:700;line-height:1.3;cursor:pointer;
}
body:has(#navi-app) .navi-flow-tools summary::-webkit-details-marker,
body:has(#navi-app) .navi-flow-context > summary::-webkit-details-marker { display:none; }
body:has(#navi-app) .navi-flow-tools summary::after,
body:has(#navi-app) .navi-flow-context > summary::after,
body:has(#navi-app) .navi-flow-operational > summary::after {
  content:'›';display:grid;place-items:center;flex:none;
  width:20px;height:20px;margin:0;padding:0;
  color:#ccecff;font-size:1.2rem;font-weight:400;line-height:1;
}
body:has(#navi-app) .navi-flow-tools details[open] summary::after,
body:has(#navi-app) .navi-flow-context[open] > summary::after { transform:rotate(90deg); }
body:has(#navi-app) .navi-flow-tools summary span { margin-left:auto;color:#9bdfff;font-size:.76rem; }
body:has(#navi-app) .navi-flow-tools .navi-guide-actions { display:flex;flex-wrap:wrap;gap:7px;padding:4px 10px 10px; }
body:has(#navi-app) .navi-flow-tools .navi-guide-actions button,
body:has(#navi-app) .navi-flow-tools li button {
  min-height:34px;padding:5px 10px;border:1px solid #4b8abb;border-radius:7px;
  background:#174b77;color:#f3faff;font:inherit;font-size:.81rem;cursor:pointer;
}
body:has(#navi-app) .navi-flow-tools p { margin:4px 10px 8px;color:#d2e6f5;font-size:.78rem; }
body:has(#navi-app) .navi-flow-tools ul { display:grid;gap:5px;margin:0;padding:4px 10px 10px;list-style:none; }
body:has(#navi-app) .navi-flow-tools li button { width:100%;text-align:left; }
body:has(#navi-app) .navi-today-item__open,
body:has(#navi-app) .navi-today-all,
body:has(#navi-app) .navi-alerts button small { align-items:center;gap:4px; }
body:has(#navi-app) .navi-today-item__open { display:inline-flex;justify-content:center; }
body:has(#navi-app) .navi-today-all,
body:has(#navi-app) .navi-alerts button small { display:inline-flex; }
body:has(#navi-app) .navi-calendar-detail--today { display:flex;align-items:center;justify-content:space-between;gap:10px; }
body:has(#navi-app) .navi-calendar-detail--today p { margin:0; }
body:has(#navi-app) .navi-calendar-detail--today a { color:#a8ddff;white-space:nowrap; }

@media (min-width:1200px) {
  body:has(#navi-app) .navi-managed { grid-template-rows:125px auto auto auto;gap:7px 12px;min-height:0; }
  body:has(#navi-app) .navi-flow-today { position:relative;grid-column:1/-1;grid-row:2;top:auto;left:auto;right:auto; }
  body:has(#navi-app) .navi-flow-tools { grid-column:1/-1;grid-row:3; }
  body:has(#navi-app) .navi-flow-context,
  body:has(#navi-app) .navi-flow-context[open] {
    position:relative;grid-column:1/-1;grid-row:4;
    top:auto;right:auto;bottom:auto;left:auto;z-index:auto;width:auto;margin:0;
    border:1px solid #326fa2;border-radius:8px;background:#0e3558;
  }
  body:has(#navi-app) .navi-flow-context[open] { padding:0 8px 8px; }
}
@media (min-width:1200px) and (max-width:1499px) {
  body:has(#navi-app) .navi-managed { grid-template-rows:72px 67px auto auto auto; }
  body:has(#navi-app) .navi-flow-kpis { grid-column:2;grid-row:2;align-self:stretch; }
  body:has(#navi-app) .navi-flow-today { grid-row:3; }
  body:has(#navi-app) .navi-flow-tools { grid-row:4; }
  body:has(#navi-app) .navi-flow-context { grid-row:5; }
}
@media (max-width:1199px) {
  body:has(#navi-app) .navi-flow-today__tasks { grid-template-columns:1fr; }
  body:has(#navi-app) .navi-flow-today__tasks button span { white-space:normal; }
  body:has(#navi-app) .navi-calendar-detail--today { flex-wrap:wrap; }
}
@media (max-width:800px) {
  body:has(#navi-app) .navi-managed,
  body:has(#navi-app) .navi-managed:has(.navi-flow-context[open]),
  body:has(#navi-app) .navi-managed:has(.navi-flow-operational[open]) {
    grid-template-rows:60px 54px auto auto auto;height:auto;min-height:0;
  }
  body:has(#navi-app) .navi-flow-operational,
  body:has(#navi-app) .navi-flow-operational[open] {
    position:absolute;grid-area:auto;grid-column:auto;grid-row:auto;
    top:4px;right:4px;left:auto;bottom:auto;z-index:10;
  }
  body:has(#navi-app) .navi-flow-operational:not([open]) { width:25px; }
  body:has(#navi-app) .navi-flow-operational[open] { width:min(310px,84vw); }
  body:has(#navi-app) .navi-flow-today {
    position:relative;grid-column:1/-1;grid-row:3;
    top:auto;left:auto;right:auto;min-height:0;padding:0;
  }
  body:has(#navi-app) .navi-flow-today__heading { display:grid;grid-template-columns:26px minmax(0,1fr) 20px;gap:1px 7px;padding:6px 8px; }
  body:has(#navi-app) .navi-flow-today__heading::before { grid-column:1;grid-row:1/3;width:26px;height:26px; }
  body:has(#navi-app) .navi-flow-today__heading strong { grid-column:2;grid-row:1;font-size:.9rem; }
  body:has(#navi-app) .navi-flow-today__heading span { grid-column:2;grid-row:2;margin:0;font-size:.7rem; }
  body:has(#navi-app) .navi-flow-today__heading i { grid-column:3;grid-row:1/3;margin-left:auto; }
  body:has(#navi-app) .navi-flow-today__summary { gap:4px 12px;padding:6px 8px;font-size:.72rem; }
  body:has(#navi-app) .navi-flow-today__summary time { flex-basis:100%; }
  body:has(#navi-app) .navi-flow-today__tasks { padding:0 8px 8px; }
  body:has(#navi-app) .navi-flow-tools { grid-column:1/-1;grid-row:4; }
  body:has(#navi-app) .navi-flow-tools summary { min-height:40px;padding:5px 8px;font-size:.74rem; }
  body:has(#navi-app) .navi-flow-context,
  body:has(#navi-app) .navi-flow-context[open] {
    position:relative;grid-column:1/-1;grid-row:5;
    top:auto;right:auto;bottom:auto;left:auto;z-index:auto;width:auto;margin:0;
    border:1px solid #326fa2;border-radius:8px;background:#0e3558;
  }
  body:has(#navi-app) .navi-flow-context[open] { padding:0 8px 8px; }
}
@media (max-width:360px) {
  body:has(#navi-app) .navi-flow-tools { grid-template-columns:1fr; }
  body:has(#navi-app) .navi-flow-tools details[open] { grid-column:1; }
}

/* =========================================================
   物件選びの実務支援（物件工程の詳細内タブ）
   既存のNAVI配色・角丸・ボタン部品をそのまま使う。
   ========================================================= */
.navi-task-tabs--4 { grid-template-columns:repeat(4,1fr); }
.navi-property-panel h3 { margin:0 0 6px; }
.navi-property-panel h4 { margin:0; font-size:.95rem; }
.navi-property-lead { margin:0 0 10px; color:var(--ink-soft); font-size:.86rem; line-height:1.7; }
.navi-property-panel .field__hint { margin:4px 0 8px; color:var(--ink-soft); font-size:.78rem; line-height:1.6; }

.navi-property-block,
.navi-property-stage {
  margin:10px 0; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper-soft);
}
.navi-property-block > summary,
.navi-property-stage > summary {
  display:flex; align-items:center; gap:8px; justify-content:space-between;
  min-height:44px; padding:9px 12px; color:var(--brand-dark); font-size:.88rem; font-weight:800; cursor:pointer;
}
.navi-property-block > summary span,
.navi-property-stage > summary span { color:var(--ink-soft); font-size:.76rem; font-weight:700; }
.navi-property-block__body { padding:0 12px 12px; }
.navi-property-stage > .field__hint { padding:0 12px; }
.navi-property-stage > .navi-property-check { margin:0 10px 8px; }

.navi-property-reference {
  margin:8px 0; padding:8px 10px; border-radius:var(--radius-sm);
  background:var(--brand-soft); color:var(--ink); font-size:.82rem; line-height:1.7;
}
.navi-property-reference span { display:block; color:var(--brand-dark); font-size:.72rem; font-weight:800; }
.navi-property-reference small { display:block; color:var(--ink-soft); font-size:.72rem; }

.navi-property-requirements { display:grid; gap:8px; }
.navi-property-requirement {
  display:grid; grid-template-columns:minmax(0,1fr) 108px; gap:6px 8px; align-items:center;
  padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper);
}
.navi-property-requirement__label { grid-column:1; color:var(--ink); font-size:.84rem; font-weight:700; }
.navi-property-requirement select { grid-column:2; grid-row:1; margin:0; min-height:40px; }
.navi-property-requirement input { grid-column:1 / -1; margin:0; min-height:44px; }
.navi-property-panel .navi-property-note { display:block; margin:10px 0 0; color:var(--ink); font-size:.84rem; font-weight:700; }

.navi-property-candidates { margin-top:12px; }
.navi-property-candidates__head { display:flex; align-items:center; gap:10px; justify-content:space-between; flex-wrap:wrap; }
.navi-property-candidates__head h4 span { margin-left:6px; color:var(--ink-soft); font-size:.78rem; font-weight:700; }

.navi-property-cards { display:none; margin:10px 0 0; padding:0; list-style:none; }
.navi-property-card {
  margin:0 0 8px; padding:10px 12px; border:1px solid var(--line);
  border-radius:var(--radius-sm); background:var(--paper);
}
.navi-property-card__title { margin:0 0 2px; color:var(--brand-dark); font-size:.94rem; font-weight:800; }
.navi-property-card__meta { margin:0 0 8px; color:var(--ink-soft); font-size:.8rem; line-height:1.7; }
.navi-property-chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }

.navi-property-chip,
.navi-property-count {
  min-height:36px; padding:4px 10px; border:1px solid var(--line); border-radius:999px;
  background:var(--paper); color:var(--ink); font:inherit; font-size:.78rem; font-weight:700; cursor:pointer;
}
.navi-property-chip strong { font-size:.92rem; }
.navi-property-chip.is-unconfirmed, .navi-property-count.is-unconfirmed { border-color:var(--ink-faint); }
.navi-property-chip.is-checking, .navi-property-count.is-checking { border-color:var(--accent); color:var(--accent-ink); }
.navi-property-chip.is-attention, .navi-property-count.is-attention { border-color:var(--danger); color:var(--danger); }
.navi-property-chip.is-confirmed, .navi-property-count.is-confirmed { border-color:var(--brand); color:var(--brand-dark); }
.navi-property-chip.is-active { background:var(--brand); border-color:var(--brand); color:#fff; }
.navi-property-chip.is-active strong { color:#fff; }

.navi-property-table { min-width:0; }
.navi-property-table th,
.navi-property-table td { padding:6px 6px; white-space:nowrap; }
.navi-property-table th:first-child { white-space:normal; }
.navi-property-table .navi-property-count { min-height:32px; padding:3px 7px; font-size:.74rem; }

.navi-property-detail { margin-top:12px; padding-top:10px; border-top:1px solid var(--line); }
.navi-property-detail__head { display:flex; align-items:center; gap:10px; justify-content:space-between; flex-wrap:wrap; }
.navi-property-switch { display:flex; align-items:center; gap:6px; margin:0; color:var(--ink-soft); font-size:.78rem; font-weight:700; }
.navi-property-switch select { width:auto; min-width:150px; margin:0; }
.navi-property-fields { margin-top:8px; }

.navi-property-remaining {
  display:flex; flex-wrap:wrap; align-items:center; gap:6px;
  margin:10px 0; padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper-soft);
}
.navi-property-remaining strong { margin-right:4px; color:var(--brand-dark); font-size:.82rem; }

.navi-property-check { border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); }
.navi-property-check > summary {
  display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 10px;
  color:var(--ink); font-size:.86rem; font-weight:700; cursor:pointer;
}
.navi-property-check__body { padding:0 10px 10px; }
.navi-property-badge {
  flex:0 0 auto; min-width:52px; padding:2px 7px; border-radius:999px; border:1px solid var(--line);
  background:#fff; color:var(--ink-soft); font-size:.72rem; font-weight:800; text-align:center;
}
.navi-property-badge.is-unconfirmed { border-color:var(--ink-faint); color:var(--ink-soft); }
.navi-property-badge.is-checking { border-color:var(--accent); background:var(--accent-soft); color:var(--accent-ink); }
.navi-property-badge.is-attention { border-color:var(--danger); color:var(--danger); }
.navi-property-badge.is-confirmed { border-color:var(--brand); background:var(--brand-soft); color:var(--brand-dark); }

.navi-property-ask {
  margin:8px 0; padding:9px 11px; border-left:3px solid var(--accent); border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  background:var(--paper-warm); color:var(--ink); font-size:.86rem; line-height:1.75;
}
.navi-property-ask span { display:block; color:var(--accent-ink); font-size:.72rem; font-weight:800; }
.navi-property-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.navi-property-actions [data-property-copied] { color:var(--brand-dark); font-size:.78rem; font-weight:700; }

.navi-property-save { margin:10px 0 4px; min-height:1.4em; font-size:.82rem; font-weight:700; }
.navi-property-save.is-saving { color:var(--accent-ink); }
.navi-property-save.is-saved { color:var(--brand-dark); }
.navi-property-save.is-error { color:var(--danger); }
.navi-property-danger { margin-top:10px; text-align:right; }

@media (max-width:700px) {
  /* 横長の表は縮小せず、候補カード＋候補切替で扱う */
  .navi-property-table-wrap { display:none; }
  .navi-property-cards { display:block; }
  .navi-property-requirement { grid-template-columns:minmax(0,1fr) 96px; }
  .navi-property-detail__head { align-items:flex-start; flex-direction:column; }
  .navi-property-switch { width:100%; }
  .navi-property-switch select { flex:1 1 auto; min-width:0; }
  .navi-property-danger { text-align:left; }
  /* 固定ナビが最後の操作を隠さないよう、パネル下端に余白を足す */
  .navi-property-panel { padding-bottom:78px; }
}
