@font-face{font-family:"Bebas Neue";src:url("/assets/ishiya/BebasNeue-Regular-03b5e6c5.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--channel-navy:#005679;--channel-ink:#12374a;--channel-soft:#f3f7f9;--channel-line:#e0e9ee;--channel-muted:#536b79;--channel-radius:18px;--channel-display:"Bebas Neue","Hiragino Sans","Noto Sans JP",sans-serif;--channel-sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Noto Sans CJK JP",system-ui,-apple-system,"Segoe UI",sans-serif}
.channel-page,.channel-page *{box-sizing:border-box}
.channel-page{margin:0;background:#f1f5f7;color:var(--channel-ink);font-family:var(--channel-sans);font-size:15px;line-height:1.85;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.channel-page a{color:var(--channel-navy);text-underline-offset:4px}
.channel-page a:hover{text-decoration-thickness:2px}
.channel-page :focus-visible{outline:3px solid #2786b4;outline-offset:4px}
.channel-page img{max-width:100%;height:auto;display:block}
.channel-header{max-width:1120px;margin:24px auto 0;background:var(--channel-navy);color:white;border-radius:22px 22px 0 0;padding:22px 32px}
.channel-brandbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.channel-wordmark{display:block;width:190px;height:auto}
.channel-demo{font-size:10px;font-weight:600;letter-spacing:.13em;border:1px solid #ffffff55;border-radius:999px;padding:4px 9px;white-space:nowrap;color:#fff}
.channel-languages{display:flex;gap:4px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid #ffffff30}
.channel-languages a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:6px 12px;color:#fff;text-decoration:none;border-radius:10px;font-size:12px;font-weight:500}
.channel-languages a:hover{background:#ffffff15}
.channel-languages [aria-current=page]{background:#fff;color:var(--channel-navy);font-weight:700}
.channel-header :focus-visible{outline-color:#fff}
.channel-main{max-width:1120px;margin:0 auto;padding:36px 32px 56px;background:white;min-height:55vh}
.channel-main h1,.channel-main h2,.channel-main h3{font-family:var(--channel-sans);color:var(--channel-ink);overflow-wrap:anywhere}
.channel-main h1{font-size:28px;font-weight:600;line-height:1.55;letter-spacing:.01em;margin:10px 0 20px;text-wrap:balance}
.channel-main h2{font-size:22px;line-height:1.6;letter-spacing:.01em;font-weight:600;margin:10px 0 14px}
.channel-main h3{font-size:18px;font-weight:600}
.channel-main p{margin:12px 0;max-width:68ch}
.channel-eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--channel-muted)}
.channel-display{font-family:var(--channel-display);font-size:24px;letter-spacing:.06em;line-height:1.1;font-weight:400}
.channel-lead{font-size:16px;line-height:1.85;font-weight:400}
.channel-note,.channel-story small,.channel-product figcaption{font-size:12px;line-height:1.8;color:var(--channel-muted)}
.channel-consumer .channel-header,.channel-consumer .channel-main,.channel-consumer .channel-footer{max-width:520px}
.channel-consumer .channel-main{padding:22px 22px 36px}
.channel-hero{background:var(--channel-navy);border-radius:22px;overflow:hidden;margin:0 0 26px}
.channel-story{padding:26px 24px 20px;color:#fff}
.channel-story .channel-eyebrow{color:#d5e8f0;margin:14px 0 8px}
.channel-story .channel-display{color:#fff;margin:0}
.channel-story h1{color:#fff;font-size:26px;font-weight:500;line-height:1.6;letter-spacing:.025em;margin:10px 0 0;text-wrap:pretty}
.channel-product{margin:0;padding:0 14px}
.channel-product img{width:100%;border-radius:14px;aspect-ratio:16/9;object-fit:cover}
.channel-answer{margin:20px 0 0;padding:22px 24px 26px;background:#f0f7fa;color:var(--channel-ink)}
.channel-answer .channel-answer-mark{display:block;width:28px;height:3px;border-radius:3px;background:var(--channel-navy);margin-bottom:14px}
.channel-answer .channel-lead{font-size:18px;font-weight:600;line-height:1.75;margin:0 0 12px}
.channel-answer p:not(.channel-lead){font-size:14px;line-height:1.95;margin:0}
.channel-source{font-size:11px;line-height:1.7;color:var(--channel-muted);margin:12px 4px 24px}
.channel-details{border:1px solid var(--channel-line);border-radius:var(--channel-radius);overflow:hidden;margin:0 0 28px;background:#fff}
.channel-details>img{width:100%;aspect-ratio:2.05;object-fit:cover}
.channel-details-copy{padding:20px 22px 22px}
.channel-details-copy .channel-display{font-size:22px;color:var(--channel-navy)}
.channel-details-copy h2{font-size:20px;margin:10px 0}
.channel-details-copy p{font-size:13px;color:var(--channel-muted);line-height:1.8;margin:8px 0}
.channel-button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;border:1px solid var(--channel-navy);background:var(--channel-navy);color:#fff!important;padding:15px 18px;border-radius:16px;font:inherit;font-weight:500;font-size:16px;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;white-space:normal;max-width:100%;margin-top:20px;transition:background .2s,transform .2s}
.channel-button:hover{background:#00435f}
.channel-button:active{transform:scale(.985)}
.channel-button-outline{color:var(--channel-navy)!important;background:#fff;border-color:#a6bfcc}
.channel-button-outline:hover{background:#f0f7fa}
.channel-button-outline::after{content:"↓";margin-left:auto;font-size:20px;font-weight:400}
.channel-button-outline::before{content:"";width:20px}
.channel-survey{background:#fff;border:1px solid var(--channel-line);border-radius:var(--channel-radius);padding:26px 24px;margin:28px auto;max-width:850px;box-shadow:0 6px 24px #12374a05}
.channel-survey>.channel-eyebrow{display:inline-flex;align-items:center;border-radius:999px;background:#edf5f8;color:var(--channel-navy);letter-spacing:.06em;padding:4px 10px;margin:0 0 6px;font-size:11px}
.channel-survey>p:not(.channel-eyebrow):not(.channel-note){font-size:14px}
.channel-survey .channel-note{font-size:12px}
.channel-text-link{font-size:13px;font-weight:600;display:inline-block;min-height:48px;padding:10px 0}
.channel-page fieldset{border:0;padding:0;margin:24px 0 18px;min-width:0}
.channel-page legend{padding:0;margin-bottom:12px;font-size:14px;font-weight:600}
.channel-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.channel-choice{min-height:58px;background:#fff;border:1px solid #a6bfcc;border-radius:14px;padding:14px 12px;display:flex;gap:8px;align-items:center;cursor:pointer;font-size:14.5px;line-height:1.6;transition:background .2s,border-color .2s}
.channel-choice:hover{background:#f6fafc;border-color:var(--channel-navy)}
.channel-choice:has(input:checked){border-color:var(--channel-navy);box-shadow:inset 0 0 0 1px var(--channel-navy);background:#eef6fa;color:var(--channel-navy);font-weight:500}
.channel-choice input{accent-color:var(--channel-navy);width:17px;height:17px;flex-shrink:0;margin:0}
.channel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.channel-field{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.channel-field label{font-size:14px;font-weight:500}
.channel-field input,.channel-field select,.channel-field textarea{width:100%;min-width:0;min-height:50px;border:1px solid #708a99;border-radius:12px;background:#fff;padding:12px;font:inherit;font-size:16px;color:var(--channel-ink)}
.channel-field input[type=file]{font-size:12px;padding:10px}
.channel-field input::file-selector-button{font:inherit;border:0;border-radius:8px;padding:9px 12px;margin-right:10px;background:#edf5f8;color:var(--channel-navy)}
.channel-thanks{max-width:720px;margin:12px auto 30px;background:#f0f7fa;border-radius:22px;padding:30px 26px}
.channel-thanks h1{font-size:27px}
.channel-footer{max-width:1120px;margin:0 auto 24px;background:#fff;border-top:1px solid var(--channel-line);border-radius:0 0 22px 22px;padding:24px 32px 30px;color:var(--channel-muted);font-size:11px;line-height:1.9}
.channel-footer p{font-size:12px;margin:0 0 6px;color:var(--channel-navy);font-weight:600;letter-spacing:.04em}
.channel-footer small{display:block;font-size:11px}
.channel-operator-nav{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--channel-line);padding-bottom:20px;margin-bottom:30px;font-size:13px}
.channel-operator-nav a{text-decoration:none;border-radius:12px;min-height:48px;padding:10px 16px;background:#f3f7f9;font-weight:500}
.channel-operator-nav a[aria-current=page]{background:var(--channel-navy);color:white}
.channel-operator-nav a:hover{background:#e5f0f5;color:var(--channel-navy)}
.channel-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 18px}
.channel-metrics article{border:1px solid var(--channel-line);background:#f5f9fb;border-radius:18px;padding:24px 28px;display:flex;align-items:center;gap:24px}
.channel-metrics strong{font-family:var(--channel-display);font-size:64px;line-height:1;font-weight:400;color:var(--channel-navy)}
.channel-metrics span{font-size:14px;font-weight:500}
.channel-record{border:1px solid var(--channel-line);border-radius:18px;padding:24px;margin:18px 0;background:#fff}
.channel-record-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--channel-line);padding-bottom:14px}
.channel-record-heading a{font-size:15px;padding:2px 0;min-height:48px;overflow-wrap:anywhere}
.channel-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin:22px 0 4px}
.channel-facts dt{font-size:12px;color:var(--channel-muted)}
.channel-facts dd{margin:5px 0;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.channel-badge{background:#edf5f8;color:#255771;padding:5px 10px;font-size:12px;border:1px solid #d9e7ed;border-radius:999px;display:inline-block}
.channel-epc{font-family:ui-monospace,monospace;font-size:13px;overflow-wrap:anywhere}
.channel-error{border:1px solid #e8b3ad;border-left:4px solid #a32a20;border-radius:12px;background:#fff4f2;color:#84281f;padding:16px;font-size:14px}
.channel-skip{position:absolute;left:10px;top:-100px;padding:10px;background:#fff;z-index:10}
.channel-skip:focus{top:8px}
.channel-page [hidden]{display:none!important}
@media(max-width:767px){.channel-header{margin:0;border-radius:0;padding:20px 22px 16px}.channel-main{padding:26px 22px 40px}.channel-main h1{font-size:27px}.channel-footer{margin-bottom:0;border-radius:0;padding:24px 22px}.channel-fields{grid-template-columns:1fr;gap:0}.channel-facts{grid-template-columns:1fr}.channel-metrics article{padding:20px;flex-direction:column;align-items:flex-start;gap:10px}.channel-metrics strong{font-size:52px}.channel-operator-nav{gap:6px}.channel-operator-nav a{padding:10px 12px}.channel-record{padding:20px}.channel-survey{padding:24px 20px}.channel-thanks{padding:26px 22px}}
@media(min-width:768px){.channel-consumer .channel-header,.channel-consumer .channel-main,.channel-consumer .channel-footer{box-shadow:0 14px 60px #12374a08}.channel-consumer .channel-fields{grid-template-columns:1fr;gap:0}.channel-operator .channel-header{display:flex;justify-content:space-between;align-items:center;gap:30px}.channel-operator .channel-languages{border:0;margin:0;padding:0}.channel-operator .channel-wordmark{width:170px}.channel-operator .channel-demo{margin-left:16px}.channel-operator .channel-survey{margin-left:0;max-width:720px}}
@media(max-width:360px){.channel-consumer .channel-main{padding:18px 16px 30px}.channel-header{padding:18px 16px 14px}.channel-wordmark{width:166px}.channel-demo{font-size:9px;padding:3px 7px}.channel-languages a{padding:6px 10px}.channel-story{padding:24px 20px 18px}.channel-story h1{font-size:25px}.channel-answer{padding:22px 20px}.channel-choice{font-size:12px}.channel-survey{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){.channel-page *{transition:none!important;animation:none!important}}

.channel-verification{display:flex;align-items:flex-start;gap:12px;border:1px solid #bfd5e0;background:#f3f9fb;border-radius:16px;padding:16px;margin:0 0 20px}
.channel-verification-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border:1px solid var(--channel-navy);border-radius:50%;color:var(--channel-navy);font-weight:600;font-size:14px;line-height:1}
.channel-verification-copy{min-width:0}.channel-verification h2{font-size:14px;margin:0 0 6px;line-height:1.6}.channel-verification p{font-size:12px;line-height:1.8;margin:0}.channel-verification details{font-size:11px;color:var(--channel-muted);margin-top:8px}.channel-verification summary{cursor:pointer;min-height:48px;padding:2px 0}.channel-verification details p{font-size:11px;margin-top:6px}.channel-verification[data-manufacturer-state=unconfirmed]{border-color:var(--channel-line);background:#f7f9fa}

.channel-embedded{background:transparent;border-radius:16px}.channel-embedded .channel-main{max-width:none;margin:0;padding:24px;background:#fff;border-radius:16px;box-shadow:none}.channel-consumer.channel-embedded .channel-main{padding:0;min-height:0;background:transparent}.channel-consumer.channel-embedded{margin:auto;max-width:520px}.channel-embedded .channel-footer{padding:16px 0;background:transparent;margin:0;border-radius:0}.channel-embedded-languages{background:var(--channel-navy);padding:8px;border-radius:14px;margin:0 0 16px;border:0}.channel-embedded .channel-operator-nav{margin-bottom:24px}@media(max-width:767px){.channel-embedded .channel-main{padding:18px}.channel-consumer.channel-embedded .channel-main{padding:0}}

.channel-consumer.channel-embedded [data-carousel-target="slide"] img{height:100%}

.channel-app-header{font-family:var(--channel-sans)}.channel-app-header>div{gap:8px}.channel-app-header>div>div:first-child{flex:1 1 auto;min-width:0;flex-wrap:wrap}.channel-app-header>div>div:last-child{flex:0 0 auto}.channel-app-header>div>div:first-child>span:first-child{white-space:nowrap}.channel-app-header img{max-width:140px}


/* Shared passenger-PWA typography, scoped to the account presentation. */
.channel-account {
  --font-sans: var(--channel-sans);
  font-family: var(--channel-sans);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}
.channel-account :where(button, input, select, textarea) { font-family: inherit; }
.channel-account :where(h1, h2, h3) { font-family: var(--channel-sans); }
.channel-account :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #2786b4;
  outline-offset: 3px;
}
.channel-account .font-mono, .channel-account .channel-epc {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.channel-account aside nav .sidebar-link {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 16px;
  margin-bottom: 4px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
}
.channel-account aside nav .sidebar-link svg { flex-shrink: 0; }
.channel-account aside nav .sidebar-link[aria-current=page],
.channel-account aside nav .sidebar-link.bg-dark-bg {
  background-color: #edf5f9 !important;
  color: var(--channel-navy) !important;
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--channel-navy);
}
.channel-account aside nav .channel-menu-link:first-of-type { margin-top: 8px; }
.channel-account-operator .channel-main { padding: 32px; }
.channel-account-operator .channel-main > .channel-lead {
  max-width: 62ch;
  color: var(--channel-muted);
  font-size: 15px;
  line-height: 1.9;
  margin-bottom: 24px;
}
.channel-account-operator .channel-survey { margin: 24px 0; box-shadow: none; }
.channel-account-operator .channel-metrics strong { font-size: 56px; font-variant-numeric: tabular-nums; }
.channel-account-operator .channel-record { margin: 16px 0; }
.channel-account-operator .channel-main h1 { max-width: 30ch; }
.channel-account .app-product-page { background: #fff; }
.channel-account .app-product-gallery { aspect-ratio: 16 / 10; }
.channel-account .app-product-content { padding: 24px 24px 32px; }
.channel-account .app-product-content > section:first-child h1 {
  font-size: 24px;
  line-height: 1.55;
  font-weight: 600;
  letter-spacing: .01em;
}
.channel-account .app-product-actions a {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  border-color: #bfd2dc;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 500;
}
.channel-account .app-product-details { border: 1px solid var(--channel-line); border-radius: 18px; }
.channel-account .app-product-details > div > div { padding: 12px 16px; font-size: 13px; }
.channel-account .channel-embedded-languages {
  background: #f5f8fa;
  border: 1px solid var(--channel-line);
  padding: 4px;
  border-radius: 16px;
  gap: 4px;
}
.channel-account .channel-embedded-languages a {
  flex: 1 1 auto;
  min-height: 48px;
  padding: 8px 6px;
  border-radius: 12px;
  color: var(--channel-muted);
  font-size: 12px;
  font-weight: 500;
}
.channel-account .channel-embedded-languages a[aria-current=page] {
  background: var(--channel-navy);
  color: #fff;
  font-weight: 500;
}
.channel-account .channel-verification { border-radius: 18px; padding: 16px; margin-bottom: 24px; }
.channel-account .channel-verification h2 { font-size: 15px; font-weight: 600; }
.channel-account .channel-verification p { font-size: 13px; line-height: 1.85; }
.channel-account .channel-verification details { font-size: 12px; }
.channel-account .channel-verification summary { min-height: 48px; padding: 7px 0; }
.channel-account .channel-verification details p { font-size: 12px; }
.channel-account .channel-hero { margin-bottom: 16px; }
.channel-account .channel-source { margin: 12px 2px 24px; }
.channel-account .channel-survey { box-shadow: none; }
.channel-account .channel-survey > p:not(.channel-eyebrow):not(.channel-note) { line-height: 1.9; }
.channel-account .channel-note { font-size: 13px; line-height: 1.85; }
.channel-account .channel-choice { min-height: 56px; }
.channel-account .channel-button { min-height: 52px; }
@media (max-width: 767px) {
  .channel-account-operator .channel-main { padding: 24px 20px; }
  .channel-account-operator main > .overflow-auto { padding: 16px; }
  .channel-account-operator .channel-main h1 { font-size: 24px; }
  .channel-account .app-product-content { padding: 24px 20px 32px; }
  .channel-account .channel-story { padding: 24px 20px 20px; }
  .channel-account .channel-story h1 { font-size: 24px; }
}
@media (max-width: 360px) {
  .channel-account .app-product-content { padding-inline: 16px; }
  .channel-account .channel-embedded-languages { gap: 2px; }
  .channel-account .channel-embedded-languages a { padding-inline: 4px; font-size: 11px; }
}


/* Tenant experience settings use native controls with full-row labels. */
.channel-settings{max-width:1000px;background:transparent}
.channel-settings .channel-page-heading{margin-bottom:28px}
.channel-settings .channel-page-heading h1{font-size:28px;font-weight:600;line-height:1.5;margin:6px 0 10px}
.channel-settings .channel-settings-card{background:white;border:1px solid var(--channel-line);border-radius:18px;padding:28px;margin-bottom:24px;box-shadow:0 3px 16px #12374a03}
.channel-settings h2{font-size:18px;font-weight:600;margin-bottom:22px}
.channel-setting-toggle{padding:16px 0;border-top:1px solid var(--channel-line)}
.channel-setting-toggle label{display:flex;align-items:center;gap:14px;min-height:48px;cursor:pointer;font-size:15px;font-weight:500}
.channel-setting-toggle input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:0 0 22px;accent-color:var(--channel-navy);cursor:pointer}
.channel-setting-toggle .channel-note{margin:4px 0 0 36px;max-width:65ch}
.channel-settings .channel-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:0 0 24px}
.channel-settings .channel-button{min-width:180px}
@media(max-width:767px){.channel-settings .channel-settings-card{padding:20px}.channel-settings .channel-page-heading h1{font-size:24px}.channel-settings .channel-actions{gap:18px}.channel-settings .channel-button{width:100%}}


/* Native administration follows compact business-interface tokens. */
.channel-account-operator {
  --channel-ink: #23221e;
  --channel-muted: #52616b;
  --channel-line: #d6d3d0;
  --channel-soft: #f8f7f6;
  --channel-radius: 8px;
  --color-primary: var(--channel-navy);
  --color-primary-dark: #00435f;
  --color-primary-light: #307c99;
  --card-bg: #fff;
  --card-text: #23221e;
  --card-border: #d6d3d0;
  --table-header-text: #23221e;
  --form-bg: #fff;
  --form-text: #23221e;
  --form-label: #23221e;
  --form-border: #737b84;
  --form-placeholder: #706d65;
  --sidebar-hover: #f2f1f0;
  --dropdown-hover: #f2f1f0;
  color: var(--channel-ink);
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: normal;
  color-scheme: light;
}
.channel-account-operator.bg-dark-bg { background-color: #f8f7f6 !important; }
.channel-account-operator main,
.channel-account-operator main > .flex-1,
.channel-account-operator .form-field,
.channel-account-operator .table-container { min-width: 0; }
.channel-account-operator .channel-operator-header { border-color: var(--channel-line) !important; }
.channel-account-operator .channel-operator-topbar {
  min-height: 64px;
  padding: 8px 24px;
  gap: 16px;
}
.channel-account-operator .channel-operator-brand { min-width: 0; }
.channel-account-operator .channel-operator-brand p { font-size: 20px; font-weight: 700; letter-spacing: -.015em; }
.channel-account-operator .channel-operator-brand > .flex-col > span { line-height: 1.5; font-size: 12px; }
.channel-account-operator .channel-operator-tools { gap: 16px; }
.channel-account-operator .channel-operator-header button { min-height: 48px; border-radius: 6px; }
.channel-account-operator .channel-operator-header button:has(> svg:only-child),
.channel-account-operator aside button:has(> svg:only-child) { min-width: 48px; min-height: 48px; }
.channel-account-operator .channel-operator-sidebar {
  width: 288px;
  flex-shrink: 0;
  border-right: 1px solid var(--channel-line);
}
.channel-account-operator .channel-sidebar-nav { padding: 16px 12px 24px; }
.channel-account-operator .channel-sidebar-nav .sidebar-link {
  min-height: 48px;
  margin-bottom: 2px;
  padding: 12px 16px;
  border-radius: 4px;
  gap: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--channel-ink) !important;
  box-shadow: none;
}
.channel-account-operator .channel-sidebar-nav .sidebar-link:hover { background: #f2f1f0; color: var(--channel-ink) !important; }
.channel-account-operator .channel-sidebar-nav .sidebar-link[aria-current=page],
.channel-account-operator .channel-sidebar-nav .sidebar-link.bg-dark-bg {
  background-color: var(--channel-navy) !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: none;
}
.channel-account-operator .channel-sidebar-nav .sidebar-link svg { flex-shrink: 0; }
.channel-account-operator .channel-sidebar-nav .channel-menu-link:first-of-type { margin-top: 8px; }
.channel-account-operator .portal-nav-heading { color: var(--channel-muted) !important; }
.channel-account-operator .portal-nav-heading:hover { background: #f2f1f0 !important; color: var(--channel-ink) !important; }
.channel-account-operator .channel-sidebar-nav hr { border-color: var(--channel-line) !important; margin-block: 16px; }
.channel-account-operator .channel-operator-scroll { padding: 32px; }
.channel-account-operator .channel-native-page-header {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 24px;
}
.channel-account-operator main > .flex-1 > :first-child h1,
.channel-account-operator .channel-native-page-header h1 {
  color: var(--channel-ink) !important;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: normal;
  overflow-wrap: anywhere;
}
.channel-account-operator .channel-native-actions { flex-wrap: wrap; gap: 8px; }
.channel-account-operator .card,
.channel-account-operator .form-container,
.channel-account-operator .table-container {
  border-color: var(--channel-line);
  border-radius: 8px;
  box-shadow: none;
}
.channel-account-operator .card-header,
.channel-account-operator .card-body,
.channel-account-operator .form-container { padding: 24px; }
.channel-account-operator .card-header { border-color: var(--channel-line); }
.channel-account-operator .card-title { font-size: 19.2px; line-height: 1.25; font-weight: 700; }
.channel-account-operator .form-label { font-size: 16px; font-weight: 700; line-height: 1.5; }
.channel-account-operator .form-field { margin-bottom: 24px; }
.channel-account-operator .form-help { color: var(--channel-muted); font-size: .857rem; line-height: 1.5; }
.channel-account-operator .form-input,
.channel-account-operator .form-select,
.channel-account-operator .search-input {
  min-height: 48px;
  border-radius: 6px;
  border-color: var(--form-border);
  box-shadow: none;
  font-size: 16px;
  line-height: 1.5;
}
.channel-account-operator .search-input { padding: 9px 12px; }
.channel-account-operator .form-input:focus,
.channel-account-operator .form-select:focus,
.channel-account-operator .search-input:focus {
  border-color: var(--channel-navy);
  box-shadow: 0 0 0 3px #00567920;
}
.channel-account-operator .form-checkbox,
.channel-account-operator .channel-native-search input[type=checkbox] { accent-color: var(--channel-navy); }
.channel-account-operator .channel-native-filter { padding: 16px 24px; margin-bottom: 16px; }
.channel-account-operator .channel-native-filter > button { min-height: 48px; }
.channel-account-operator .channel-native-filter > button .text-sm { font-size: 16px; }
.channel-account-operator .channel-native-filter .grid { column-gap: 24px; }
.channel-account-operator .btn {
  min-height: 48px;
  padding: 11px 16px;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  box-shadow: none;
  white-space: normal;
  text-align: center;
}
.channel-account-operator .btn-primary { background: var(--channel-navy); color: #fff; }
.channel-account-operator .btn-primary:hover { background: #00435f; }
.channel-account-operator .btn-secondary { background: #fff; color: var(--channel-ink); border-color: #a39f98; }
.channel-account-operator .btn-secondary:hover { background: #f2f1f0; }
.channel-account-operator .btn-danger { background: #e01e5a; color: #fff; }
.channel-account-operator .icon-btn { min-width: 48px; min-height: 48px; border-radius: 6px; color: var(--channel-muted); }
.channel-account-operator .icon-btn:hover { color: var(--channel-navy); background: #f2f1f0; }
.channel-account-operator .icon-btn-danger:hover { color: #b42318; background: #fff4f2; }
.channel-account-operator .table-container { max-width: 100%; overscroll-behavior-inline: contain; }
.channel-account-operator .table-header { background: #edebe8; }
.channel-account-operator .table-header-cell { padding: 12px 16px; font-size: 16px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.channel-account-operator .table-cell { padding: 12px 16px; font-size: 16px; line-height: 1.5; }
.channel-account-operator .table-row { border-color: var(--channel-line); }
.channel-account-operator .table-row:hover { background: #f8f7f6; }
.channel-account-operator .table-row.opacity-50 { opacity: 1; }
.channel-account-operator .table-row.opacity-50 .table-cell { color: var(--channel-muted); }
.channel-account-operator .channel-table-number { text-align: right; font-variant-numeric: tabular-nums; }
.channel-account-operator .channel-table-object { min-width: 180px; }
.channel-account-operator .channel-table-object > .flex-col { gap: 4px; }
.channel-account-operator .channel-native-table .bg-gray-700 { background-color: #f2f1f0; }
.channel-account-operator .table-container:focus-visible { outline-offset: 3px; }
.channel-account-operator .table-cell-empty { padding: 32px 24px; }
.channel-account-operator .empty-state-icon { opacity: 1; width: 40px; height: 40px; color: #706d65; }
.channel-account-operator .empty-state-message { color: var(--channel-muted); font-size: 16px; line-height: 1.5; }
.channel-account-operator .empty-state .btn { margin-top: 16px; }
.channel-account-operator .channel-native-search { padding: 16px; border: 1px solid var(--channel-line); border-radius: 8px; background: #fff; margin-bottom: 16px; }
.channel-account-operator .channel-native-search label:has(input[type=checkbox]),
.channel-account-operator .form-container label:has(.form-checkbox) { min-height: 48px; }
.channel-account-operator .channel-native-pagination { gap: 16px; flex-wrap: wrap; margin-top: 24px; }
.channel-account-operator .channel-native-pagination .text-sm { font-size: .857rem; }
.channel-account-operator .card dd.text-2xl,
.channel-account-operator .channel-metrics strong,
.channel-account-operator .channel-display {
  font-family: var(--channel-sans);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: normal;
  font-variant-numeric: tabular-nums;
}
.channel-account-operator .card dt.truncate { font-size: 16px; white-space: normal; overflow: visible; text-overflow: clip; }
.channel-account.channel-account-operator .badge.badge-success { color: #166534; background: #edf8f0; }
.channel-account.channel-account-operator .badge.badge-danger { color: #b42318; background: #fff0ee; }
.channel-account.channel-account-operator .badge.badge-warning { color: #854d0e; background: #fff5da; }
.channel-account.channel-account-operator .badge.badge-info,
.channel-account.channel-account-operator .badge.badge-shipment { color: #005679; background: #edf5f9; }
.channel-account.channel-account-operator .badge.badge-secondary,
.channel-account.channel-account-operator .badge.badge-muted,
.channel-account.channel-account-operator .badge.badge-dark { color: #706d65; background: #f2f1f0; }
.channel-account-operator main .text-emerald-400,
.channel-account-operator main .text-green-400 { color: #166534 !important; }
.channel-account-operator main .text-amber-400 { color: #854d0e !important; }
.channel-account-operator main .text-red-400 { color: #b42318 !important; }
.channel-account-operator .channel-page { font-size: 16px; line-height: 1.5; letter-spacing: normal; }
.channel-account-operator .channel-main,
.channel-account-operator .channel-settings { max-width: 1120px; }
.channel-account-operator .channel-embedded .channel-main { padding: 24px; border: 1px solid var(--channel-line); border-radius: 8px; }
.channel-account-operator .channel-main h1,
.channel-account-operator .channel-settings .channel-page-heading h1 { font-size: 24px; line-height: 1.25; font-weight: 700; }
.channel-account-operator .channel-main h2,
.channel-account-operator .channel-settings h2 { font-size: 19.2px; line-height: 1.25; font-weight: 700; }
.channel-account-operator .channel-main > .channel-lead { font-size: 16px; line-height: 1.5; max-width: 65ch; }
.channel-account-operator .channel-settings .channel-settings-card { border-radius: 8px; padding: 24px; box-shadow: none; }
.channel-account-operator .channel-settings .channel-page-heading { margin-bottom: 24px; }
.channel-account-operator .channel-setting-toggle label { font-size: 16px; font-weight: 400; }
.channel-account-operator .channel-note,
.channel-account-operator .channel-facts dt { font-size: .857rem; line-height: 1.5; }
.channel-account-operator .channel-record,
.channel-account-operator .channel-survey,
.channel-account-operator .channel-metrics article { border-radius: 8px; box-shadow: none; }
.channel-account-operator .channel-button { min-height: 48px; border-radius: 6px; font-size: 16px; font-weight: 700; padding: 12px 16px; line-height: 1.5; }
.channel-account-operator .channel-field label { font-size: 16px; font-weight: 700; }
.channel-account-operator .channel-field input,
.channel-account-operator .channel-field select,
.channel-account-operator .channel-field textarea { min-height: 48px; border-radius: 6px; border-color: var(--form-border); }
.channel-account-operator .channel-field input[type=checkbox] { min-height: 22px; }
.channel-account-operator .channel-badge { border-radius: 4px; font-size: .857rem; }
.channel-account-operator .channel-auth-card { border: 1px solid var(--channel-line); border-radius: 8px; box-shadow: none; }
.channel-account-operator .channel-auth-title { font-size: 24px; line-height: 1.25; font-weight: 700; }
.channel-account-consumer .channel-inquiry-choice { min-height: 80px; }
.channel-account-consumer .peer:focus-visible + .channel-inquiry-choice { outline: 3px solid #2786b4; outline-offset: 3px; }
@media (max-width: 767px) {
  .channel-account-operator .channel-operator-topbar { padding: 8px 16px; gap: 8px; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .channel-account-operator .channel-operator-brand { width: auto; flex: 1 1 auto; }
  .channel-account-operator .channel-operator-tools { margin-left: auto; gap: 8px; }
  .channel-account-operator .channel-operator-scroll { padding: 24px 16px; }
  .channel-account-operator .channel-native-page-header { flex-direction: column; align-items: stretch; }
  .channel-account-operator .channel-native-actions { width: 100%; }
  .channel-account-operator .channel-native-actions > a { flex: 1 1 100%; }
  .channel-account-operator .btn,
  .channel-account-operator .icon-btn,
  .channel-account-operator .channel-button { min-height: 48px; }
  .channel-account-operator .icon-btn { min-width: 48px; }
  .channel-account-operator .card-header,
  .channel-account-operator .card-body,
  .channel-account-operator .form-container,
  .channel-account-operator .channel-settings .channel-settings-card { padding: 16px; }
  .channel-account-operator .channel-native-filter { padding: 12px 16px; }
  .channel-account-operator .channel-native-search { align-items: stretch; }
  .channel-account-operator .channel-native-search form { width: 100%; }
  .channel-account-operator .channel-native-search .search-input { flex-basis: 100%; }
  .channel-account-operator .channel-native-pagination { align-items: flex-start; }
  .channel-account-operator .channel-auth-card { padding: 24px; }
}


/* The shared sign-in entry has no tenant context, so it uses the Niji product look of the admin portal
   (application.css --portal-*: navy #12336F, ink #0E2038, 2px buttons, 4px fields and cards), never tenant colors. */
body.watchdog-auth {
  --color-primary: var(--portal-brand, #12336F);
  --color-primary-dark: var(--portal-brand-hover, #0B2554);
  --form-border: var(--portal-field-border, #7E8A97);
  background: var(--portal-page, #F6F8FA) !important;
  color: var(--portal-ink, #0E2038);
  color-scheme: light;
  font-family: var(--sans, var(--channel-sans));
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
/* The layout keeps .bg-dark-bg, whose light-mode override (application.css) would otherwise win over the body background. */
:root body.watchdog-auth.bg-dark-bg { background-color: var(--portal-page, #F6F8FA) !important; }
.watchdog-auth .channel-auth-shell { padding: 96px 24px 48px; }
.watchdog-auth .channel-auth-frame { max-width: 420px; }
.watchdog-auth .channel-auth-heading { margin-bottom: 24px; }
body.watchdog-auth .channel-auth-frame .text-white { color: var(--portal-ink, #0E2038) !important; }
.watchdog-auth .channel-auth-title { font-size: 32px; line-height: 1.25; font-weight: 700; letter-spacing: -.025em; }
.watchdog-auth .channel-auth-heading p { color: var(--portal-sub, #5C6B7C) !important; font-size: 16px; }
.watchdog-auth .channel-auth-card {
  border: 1px solid var(--portal-line, #E2E7ED);
  border-radius: 4px;
  padding: 32px;
  background: #fff !important;
  box-shadow: none;
}
.watchdog-auth .channel-auth-card h2 { font-size: 24px; font-weight: 700; line-height: 1.25; margin-bottom: 24px; }
.watchdog-auth .channel-auth-card form :where(button, input, select, textarea) { font-family: inherit; }
body.watchdog-auth .channel-auth-frame .channel-auth-card form label { color: var(--portal-ink, #0E2038) !important; font-size: 16px; line-height: 1.5; }
.watchdog-auth .channel-auth-card form .form-group > label { font-weight: 700; margin-bottom: 8px; }
.watchdog-auth .channel-auth-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
.watchdog-auth .channel-auth-card select,
.watchdog-auth .channel-auth-card textarea {
  box-sizing: border-box;
  min-height: 48px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--portal-field-border, #7E8A97) !important;
  border-radius: 4px;
  background: #fff !important;
  color: var(--portal-ink, #0E2038) !important;
  font-size: 16px;
  line-height: 1.5;
  box-shadow: none;
}
.watchdog-auth .channel-auth-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):focus { border-color: var(--portal-brand, #12336F) !important; }
.watchdog-auth .channel-auth-card input::placeholder { color: var(--portal-sub, #5C6B7C); opacity: 1; }
.watchdog-auth .channel-auth-card input[type=checkbox],
.watchdog-auth .channel-auth-card input[type=radio] { width: 22px; height: 22px; accent-color: var(--portal-brand, #12336F); flex-shrink: 0; }
.watchdog-auth .channel-auth-card input[type=checkbox] + label { display: flex; align-items: center; min-height: 48px; }
body.watchdog-auth .channel-auth-card input[type=submit],
body.watchdog-auth .channel-auth-card button[type=submit] {
  min-height: 48px;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--portal-brand, #12336F);
  border-radius: 2px;
  background: var(--portal-brand, #12336F) !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}
body.watchdog-auth .channel-auth-card input[type=submit]:hover,
body.watchdog-auth .channel-auth-card button[type=submit]:hover { background: var(--portal-brand-hover, #0B2554) !important; border-color: var(--portal-brand-hover, #0B2554); }
.watchdog-auth .channel-auth-frame .channel-auth-card a { display: inline-flex; align-items: center; min-height: 48px; color: var(--portal-brand, #12336F) !important; font-size: .857rem; text-decoration: underline; text-underline-offset: 3px; }
.watchdog-auth :where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--portal-brand, #12336F) !important; outline-offset: 3px; }
.watchdog-auth .channel-auth-languages { max-width: calc(100% - 32px); }
.watchdog-auth .channel-auth-languages > .flex { flex-wrap: wrap; gap: 8px; }
.watchdog-auth .channel-auth-languages > .flex > a { display: inline-flex; align-items: center; min-height: 48px; padding: 4px 8px; border-radius: 2px; color: var(--portal-sub, #5C6B7C) !important; font-size: 14px; }
.watchdog-auth .channel-auth-languages a.text-primary { color: var(--portal-brand, #12336F) !important; background: var(--portal-mist, #F6F8FA); box-shadow: inset 0 -2px 0 var(--portal-brand, #12336F); }
body.watchdog-auth .environment-badge { border-radius: 2px; }
@media (max-width: 479px) {
  .watchdog-auth .channel-auth-shell { align-items: flex-start; padding: 112px 16px 32px; }
  .watchdog-auth .channel-auth-title { font-size: 28.8px; }
  .watchdog-auth .channel-auth-card { padding: 24px; }
}

/* Shared consumer primitives, while preserving the product information layout. */

/* Consumer screens share the portal tokens (application.css --portal-* and --sans). --tenant-brand is emitted only when the
   tenant set a brand color (AccountTheme#css_variables); otherwise the band and main buttons use the portal navy. */
.channel-account-consumer,.channel-page.channel-consumer{--consumer-brand:var(--tenant-brand,var(--portal-brand,#12336F));--channel-navy:var(--consumer-brand);--channel-ink:var(--portal-ink,#0E2038);--channel-muted:var(--portal-sub,#5C6B7C);--channel-line:var(--portal-line,#E2E7ED);--channel-soft:var(--portal-mist,#F6F8FA);--channel-radius:var(--portal-radius-field,4px);--channel-sans:var(--sans,"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif);--channel-display:var(--channel-sans);--color-primary:var(--consumer-brand);--color-primary-dark:color-mix(in srgb,var(--consumer-brand) 82%,#000);--color-primary-light:color-mix(in srgb,var(--consumer-brand) 70%,#fff)}
/* 中国語の消費者画面: 同梱の Zen Kaku Gothic New は日本語の書体で、日中共通の漢字が日本語の字形になり、収録外の簡体字・繁体字だけが
   端末の書体に落ちて一文の中で書体が混ざる。中国語のときだけ端末の中国語書体を先に置き、その後ろに --sans を続ける（日本語・英語・ポータルは不変） */
:is(.channel-account-consumer,.channel-page.channel-consumer):lang(zh-CN){--channel-sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",var(--sans,"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif)}
:is(.channel-account-consumer,.channel-page.channel-consumer):lang(zh-TW){--channel-sans:"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",var(--sans,"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif)}
.channel-account-consumer{background:var(--portal-page,#F6F8FA);color:var(--channel-ink);font-size:16px}
.channel-account-consumer .app-product-content{gap:24px}
.channel-account-consumer .app-product-content>section,.channel-account-consumer .app-product-details,.channel-account-consumer .channel-hero,.channel-account-consumer .channel-details,.channel-account-consumer .channel-survey,.channel-account-consumer .channel-verification{border-radius:var(--portal-radius-field,4px);box-shadow:none}
.channel-account-consumer .app-product-actions a,.channel-account-consumer .channel-button{border-radius:var(--portal-radius,2px)}.channel-account-consumer .channel-field input,.channel-account-consumer .channel-field select,.channel-account-consumer .channel-field textarea{border-radius:var(--portal-radius-field,4px)}
.channel-account-consumer .channel-languages{border-radius:var(--portal-radius,2px)}.channel-account-consumer .channel-languages a{border-radius:var(--portal-radius,2px)}.channel-account-consumer .app-product-content h1{font-size:24px;line-height:1.5}.channel-account-consumer .app-product-content p{line-height:1.75}

/* Keep visible controls easy to operate without enlarging the native checkbox. */
.channel-account-consumer header [data-dropdown-target="menu"] :where(a, button) {
  min-height: 48px;
  display: flex;
  align-items: center;
}
.channel-account-consumer [data-controller="carousel"] > button {
  width: 48px;
  height: 48px;
}
.channel-account-consumer [data-controller="carousel"] > .absolute.bottom-4 {
  bottom: 0;
  gap: 0;
  max-width: 100%;
  overflow-x: auto;
}
.channel-account-consumer [data-carousel-target="indicator"] {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
}
.channel-account-consumer [data-carousel-target="indicator"]::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d1d5db;
}
.channel-account-consumer [data-carousel-target="indicator"].bg-gray-800::after { background: #1f2937; }

/* Readable shared UI: natural-language wrapping, clear controls and navigation. */
.channel-account :where(h1, h2, h3, label, legend) {
  word-break: normal;
  line-break: strict;
  overflow-wrap: break-word;
}
.channel-account .channel-main :is(h1, h2, h3),
.channel-account-operator .channel-native-page-header h1,
.channel-account-operator main > .flex-1 > :first-child h1 {
  max-width: none;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
  line-height: 1.5;
}
.channel-account-operator .channel-sidebar-nav .sidebar-link {
  padding-inline: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--channel-ink) !important;
}
.channel-account-operator .channel-sidebar-nav .sidebar-link[aria-current=page],
.channel-account-operator .channel-sidebar-nav .sidebar-link.bg-dark-bg { color: #fff !important; }
.channel-account-operator .channel-settings .channel-page-heading h1 { line-height: 1.5; }
.channel-account .channel-note,
.channel-account .channel-source,
.channel-account .channel-facts dt,
.channel-account .channel-footer small,
.channel-account .form-help { font-size: 14px; line-height: 1.75; color: var(--channel-muted); }
.channel-account .channel-eyebrow { font-size: 14px; line-height: 1.5; letter-spacing: .04em; }
.channel-account .channel-facts dd,
.channel-account .channel-details-copy p { font-size: 16px; line-height: 1.75; }
.channel-account .channel-languages a { font-size: 14px; line-height: 1.5; }
.channel-account .channel-embedded-languages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.channel-account .channel-embedded-languages a { min-width: 0; padding-inline: 4px; }
.channel-account .channel-verification h2 { font-size: 18px; line-height: 1.6; }
.channel-account .channel-verification-copy > p { font-size: 16px; line-height: 1.75; }
.channel-account .channel-verification details,
.channel-account .channel-verification details p { font-size: 14px; line-height: 1.75; }
.channel-account .channel-verification summary { color: var(--channel-navy); text-decoration: underline; text-underline-offset: 3px; }
.channel-account-consumer .channel-story .channel-story-title {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
  margin: 12px 0 0;
  text-wrap: pretty;
}
.channel-account .channel-title-phrase { display: inline-block; white-space: pre; max-width: 100%; }

.channel-account .channel-story-title .channel-title-phrase { font-size: 24px; }
.channel-account-consumer .channel-answer .channel-lead { font-size: 18px; line-height: 1.75; }
.channel-account-consumer .channel-answer p:not(.channel-lead) { font-size: 16px; line-height: 1.75; }
.channel-account-consumer .channel-choice { font-size: 16px; line-height: 1.5; }
.channel-account-consumer .channel-choice input { flex-shrink: 0; }
.channel-account-consumer .app-product-actions a { font-size: 16px; }
.channel-account-consumer .app-product-details > div > div { font-size: 14px; }
.channel-account .channel-field :where(input:not([type=checkbox]):not([type=radio]), select, textarea) { border-color: #737b84; }
.channel-account .channel-setting-toggle label:has(input:disabled),
.channel-account .channel-setting-toggle input:disabled { cursor: default; }
.channel-account .channel-setting-toggle label:has(input:disabled) { color: var(--channel-muted); }
.channel-account .channel-field select:disabled { color: var(--channel-muted); background: #f1f4f5; opacity: 1; }
.channel-account .channel-setting-toggle input:focus-visible { outline: 3px solid #005679; outline-offset: 3px; }
.channel-account .channel-observation-link { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-decoration: none; max-width: 100%; }
.channel-account .channel-observation-link strong { font-size: 18px; line-height: 1.5; }
.channel-account .channel-observation-link .channel-epc { color: var(--channel-muted); font-size: 14px; }
.channel-account .channel-observation-link > span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.channel-skip-link {
  position: fixed;
  top: 8px;
  left: 16px;
  z-index: 10010;
  transform: translateY(calc(-100% - 16px));
  padding: 12px 20px;
  min-height: 48px;
  background: #fff;
  color: #005679;
  border: 2px solid #005679;
  border-radius: 6px;
  font-size: 16px;
}
.channel-skip-link:focus { transform: translateY(0); }
@media (max-width: 479px) {
  .channel-account .channel-embedded-languages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .channel-account-consumer .channel-choices { grid-template-columns: minmax(0, 1fr); }
  .channel-account-consumer .channel-story .channel-story-title,
  .channel-account .channel-story-title .channel-title-phrase { font-size: 22px; }
  .channel-account .channel-verification { gap: 8px; padding: 16px 12px; }
}
@media (forced-colors: active) {
  .channel-account :where(a, button, input, select, textarea, summary):focus-visible { outline-color: Highlight; }
  .channel-account .channel-languages [aria-current=page],
  .channel-account .channel-choice:has(input:checked) { outline: 2px solid Highlight; outline-offset: -2px; }
}

.channel-account :where(p, .channel-note) { text-wrap: pretty; }
.channel-account .channel-verification h2 { font-size: 16px; line-height: 1.75; }

/* Keep the current destination readable through every pointer/keyboard state. */
.channel-account.channel-account-operator .channel-operator-sidebar .channel-sidebar-nav .sidebar-link[aria-current=page],
.channel-account.channel-account-operator .channel-operator-sidebar .channel-sidebar-nav .sidebar-link.bg-dark-bg {
  background: #e8f3f8 !important;
  color: #005679 !important;
  box-shadow: inset 3px 0 0 #005679;
  font-weight: 700;
}
.channel-account.channel-account-operator .channel-operator-sidebar .channel-portal-tabs a {
  color: #334854 !important;
  text-decoration: none;
}
.channel-account.channel-account-operator .channel-operator-sidebar .channel-portal-tabs a[aria-current=page] {
  color: #005679 !important;
  background: #e8f3f8 !important;
  box-shadow: inset 0 -3px 0 #005679;
  font-weight: 700;
}
.channel-account.channel-account-operator .tab-link {
  min-height: 48px;
  font-size: 16px;
  color: #334854;
}
.channel-account.channel-account-operator .tab-link[aria-selected=true] {
  background: #e8f3f8;
  color: #005679;
  border-bottom-color: #005679;
  font-weight: 700;
}
.channel-account.channel-account-operator .tab-link[aria-selected=true] .tab-count {
  background: #d8e9f1;
  color: #005679;
}
.channel-account-consumer .app-product-confirmation { padding: 24px 24px 8px; }
.channel-account-consumer .app-product-confirmation > h1 {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.5;
  text-wrap: pretty;
}
.channel-account-consumer .app-product-confirmation .channel-verification { margin-bottom: 16px; }
@media (max-width: 767px) {
  .channel-account-consumer .app-product-confirmation { padding: 24px 20px 8px; }
}
@media (max-width: 360px) {
  .channel-account-consumer .app-product-confirmation { padding-inline: 16px; }
}

.channel-account-operator .channel-workflow-nav { border-bottom: 1px solid var(--channel-line); margin-bottom: 16px; padding-bottom: 12px; }
.channel-account-operator .channel-workflow-nav > h2,
.channel-account-operator .channel-other-functions { font-size: 14px; font-weight: 600; margin: 4px 12px 8px; color: #334854; }
.channel-account-operator .channel-workflow-number { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex-shrink: 0; border: 1px solid #9ab5c3; border-radius: 50%; color: #005679; background: #e8f3f8; font-size: 14px; font-weight: 700; }
.channel-account-operator .channel-workflow-nav .sidebar-link { gap: 10px; }
.channel-account-operator .channel-workflow { margin: 0 0 32px; }
.channel-account-operator .channel-workflow h2 { font-size: 22px; font-weight: 700; margin-bottom: 8px; }
.channel-account-operator .channel-workflow > p { font-size: 16px; line-height: 1.75; margin-bottom: 20px; color: #334854; }
.channel-account-operator .channel-workflow-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.channel-account-operator .channel-workflow-card { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; background: #fff; border: 1px solid #9ab5c3; border-radius: 8px; text-decoration: none; color: #1c2d36; }
.channel-account-operator .channel-workflow-card:hover { border-color: #005679; background: #f4f9fb; }
.channel-account-operator .channel-workflow-card h3 { font-size: 18px; line-height: 1.5; font-weight: 700; }
.channel-account-operator .channel-workflow-card p { font-size: 16px; line-height: 1.75; }
.channel-account-operator .channel-workflow-action { margin-top: auto; color: #005679; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.channel-account-operator .channel-setting-inactive { color: #536575; }
.channel-account-operator a[aria-disabled=true] { color: #536575; cursor: default; text-decoration: none; }
@media (max-width: 1100px) { .channel-account-operator .channel-workflow-grid { grid-template-columns: minmax(0,1fr); } }

.channel-account-operator .channel-sidebar-nav .channel-portal-tabs > a { min-height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 4px; }


/* Portal navigation: one grouped menu for every tenant; collapsible groups follow the disclosure pattern. */
/* Layers of the portal shell for every tenant and width: the header stays above the page so its dropdowns overlap the
   content, and the drawer with its backdrop sits above the header so the close button is never hidden behind it. */
.channel-operator-header { z-index: 9999; }
.channel-sidebar-overlay { z-index: 10000; }
.channel-operator-sidebar { z-index: 10001; max-width: calc(100vw - 56px); }
.portal-nav-list { list-style: none; margin: 0; padding: 0; }
.portal-nav-list > li + li { margin-top: 2px; }
.portal-nav-section + .portal-nav-section { margin-top: 16px; }
.portal-nav-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  margin-bottom: 4px;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
}
.portal-nav-heading[aria-expanded=true] .portal-nav-chevron { transform: rotate(180deg); }
.portal-nav-chevron, .portal-nav-link svg { flex-shrink: 0; }
.portal-nav-link > span { min-width: 0; white-space: normal; line-height: 1.5; }
.portal-breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  font-size: 14px;
  line-height: 1.5;
}
.portal-breadcrumb li + li::before { content: "\203A"; content: "\203A" / ""; margin-right: 8px; color: var(--channel-muted, #64748b); }
.portal-breadcrumb a { display: inline-flex; align-items: center; min-height: 24px; text-decoration: underline; text-underline-offset: 3px; }

/* 管理ポータル内の操作画面（.channel-operator.channel-embedded）は虹のトンマナ（紺 #12336F・角丸 2〜4px・sans）。
   値は application.css の --portal-* を使い、無い場合の予備値を添える。消費者の埋め込み（.channel-consumer）と .channel-page 共通は変えない。 */
.channel-page.channel-operator.channel-embedded{--channel-navy:var(--portal-brand,#12336F);--channel-ink:var(--portal-ink,#0E2038);--channel-muted:var(--portal-sub,#5C6B7C);--channel-line:var(--portal-line,#E2E7ED);--channel-soft:var(--portal-mist,#F6F8FA);--channel-radius:4px;--channel-display:var(--channel-sans);border-radius:4px}
.channel-page.channel-operator.channel-embedded .channel-main{border-radius:4px}
.channel-page.channel-operator.channel-embedded .channel-button{border-radius:2px}
.channel-page.channel-operator.channel-embedded .channel-button:hover{background:var(--portal-brand-hover,#0B2554)}
.channel-page.channel-operator.channel-embedded .channel-button-outline{border-color:var(--channel-navy)}
.channel-page.channel-operator.channel-embedded .channel-button-outline:hover{background:var(--channel-soft)}
.channel-page.channel-operator.channel-embedded :is(.channel-survey,.channel-record,.channel-details,.channel-error){border-radius:4px}
.channel-page.channel-operator.channel-embedded .channel-metrics article{border-radius:4px;background:var(--channel-soft)}
.channel-page.channel-operator.channel-embedded .channel-survey>.channel-eyebrow{background:var(--channel-soft);border-radius:2px}
.channel-page.channel-operator.channel-embedded .channel-answer{background:var(--channel-soft)}
.channel-page.channel-operator.channel-embedded .channel-field :where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:4px;border-color:var(--portal-field-border,#7E8A97)}
.channel-page.channel-operator.channel-embedded .channel-field :where(input,select,textarea):focus{border-color:var(--channel-navy)}
.channel-page.channel-operator.channel-embedded .channel-field input::file-selector-button{background:var(--channel-soft);border-radius:2px}
.channel-page.channel-operator.channel-embedded .channel-choice{border-radius:4px;border-color:var(--portal-field-border,#7E8A97)}
.channel-page.channel-operator.channel-embedded .channel-choice:hover{background:var(--channel-soft);border-color:var(--channel-navy)}
.channel-page.channel-operator.channel-embedded .channel-choice:has(input:checked){background:var(--fn-brand-face,#ECEFF3)}
.channel-page.channel-operator.channel-embedded .channel-badge{background:var(--channel-soft);color:var(--channel-navy);border-color:var(--channel-line);border-radius:2px}
.channel-page.channel-operator.channel-embedded .channel-operator-nav a{border-radius:2px;background:var(--channel-soft)}
.channel-page.channel-operator.channel-embedded .channel-operator-nav a:hover{background:var(--fn-brand-face,#ECEFF3)}
.channel-page.channel-operator.channel-embedded .channel-operator-nav a[aria-current=page]{background:var(--channel-navy)}
.channel-page.channel-operator.channel-embedded .channel-embedded-languages{border-radius:2px}
.channel-page.channel-operator.channel-embedded.shipment-flow .shipment-notice{border-left-color:var(--channel-navy);background:var(--channel-soft);color:var(--channel-ink);border-radius:4px}
.channel-page.channel-operator.channel-embedded.shipment-flow .shipment-error{border-radius:4px}
.channel-page.channel-operator.channel-embedded.shipment-flow .shipment-optional{border-top-color:var(--channel-line)}
.channel-page.channel-operator.channel-embedded .rs-back{color:var(--channel-navy)}
.channel-page.channel-operator.channel-embedded .rs-destination{border-color:var(--channel-line);border-left-color:var(--channel-navy);border-radius:4px}
.channel-page.channel-operator.channel-embedded :is(.rs-destination>span:first-child,.rs-metrics dt,.rs-source dt,.rs-sync){color:var(--channel-muted)}
.channel-page.channel-operator.channel-embedded :is(.rs-metrics dd,.rs-source dd,.rs-local-state){color:var(--channel-ink)}
.channel-page.channel-operator.channel-embedded .rs-state{background:var(--channel-soft);color:var(--channel-navy);border-radius:2px}
.channel-page.channel-operator.channel-embedded .rs-metrics dl{border-color:var(--channel-line);border-radius:4px}
.channel-page.channel-operator.channel-embedded .rs-secondary{color:var(--channel-navy);border-color:var(--channel-navy);border-radius:2px}
.channel-page.channel-operator.channel-embedded .rs-table{border-color:var(--channel-line);border-radius:4px}
.channel-page.channel-operator.channel-embedded .rs-table th{background:var(--channel-soft)}
.channel-page.channel-operator.channel-embedded .rs-table :is(th,td){border-bottom-color:var(--channel-line)}
.channel-page.channel-operator.channel-embedded .rs-local-state[data-state=stopped]{border-color:var(--portal-field-border,#7E8A97);background:var(--channel-soft);border-radius:4px}
.channel-page.channel-operator.channel-embedded .channel-field input[type=file]{border-color:var(--portal-field-border,#7E8A97);border-radius:4px}

/* 消費者画面（商品パスポート・購入確認・お礼・使えないとき）: 管理ポータルと同じ白基調。色はブランド（紺、または企業の
   ブランド色）だけで、帯と主ボタンに使う。角はボタン 2px・カードと入力 4px、影より罫線。見出しは sans の太字（Bebas Neue・明朝は使わない）。
   状態（エラー・注意）の意味色はそのまま。ポータル（.channel-operator・portal-shell・watchdog-auth）には当たらない。 */
.channel-account-consumer .channel-page{font-size:16px;line-height:1.8}
.channel-account-consumer .channel-page.channel-consumer{border-radius:0;box-shadow:none}
@media(min-width:1024px){.channel-account-consumer .channel-page.channel-consumer{box-shadow:0 0 0 1px var(--channel-line)}}
.channel-account-consumer :where(a,button,input,select,textarea,summary):focus-visible,
.channel-account-consumer .channel-page :focus-visible{outline-color:var(--portal-brand,#12336F)}
.channel-account-consumer .channel-skip-link{color:var(--portal-brand,#12336F);border-color:var(--portal-brand,#12336F);border-radius:var(--portal-radius,2px)}

/* 上部の帯: ブランドの地に白い文字（ポータルの帯と同じ）。帯には B-Watchdog の名前・環境バッジ・操作だけを置く。開いたメニューは白のまま */
.channel-account-consumer .channel-app-header{background:var(--channel-navy);color:var(--portal-on-band,#fff);border-bottom:0}
.channel-account-consumer .channel-app-header .passport-brand-identity{flex-wrap:wrap;gap:4px 10px}
.channel-account-consumer .channel-app-header .passport-service-name{font-size:15px;font-weight:700}
/* 企業の帯: 帯の直下の白い面に企業のロゴ（元の色のまま）と名前。ロゴが無ければ名前だけを左に */
.channel-account-consumer .channel-company-band{display:flex;align-items:center;min-height:60px;padding:0 16px;background:var(--portal-surface,#fff);border-bottom:1px solid var(--portal-line,#E2E7ED);font-family:var(--channel-sans)}
/* 中身の幅は本文の列（.channel-consumer.channel-embedded の最大幅）にそろえ、PC 幅でロゴと企業名が画面の両端へ離れないようにする */
.channel-account-consumer .channel-company-band .company-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1 1 auto;min-width:0;max-width:520px;margin-inline:auto}
.channel-account-consumer .channel-company-band .company-identity-logo{display:block;height:30px;width:auto;max-width:160px;min-width:0;object-fit:contain;object-position:left center}
.channel-account-consumer .channel-company-band .company-identity-name{min-width:0;font-size:13px;line-height:1.5;color:var(--portal-sub,#5C6B7C);text-align:right;overflow-wrap:anywhere}
.channel-account-consumer .channel-company-band .company-identity-name:only-child{text-align:left}
.channel-account-consumer .channel-app-header>div>[data-controller=dropdown]>button{color:var(--portal-on-band,#fff);border-radius:var(--portal-radius,2px)}
.channel-account-consumer .channel-app-header>div>[data-controller=dropdown]>button svg{color:inherit}
.channel-account-consumer .channel-app-header>div>[data-controller=dropdown]>button:hover{background:var(--portal-band-hover,rgba(255,255,255,.12))}
.channel-account-consumer .channel-app-header>div :is(a,button):focus-visible{outline-color:var(--portal-band-focus,#fff)}
.channel-account-consumer .channel-app-header [data-dropdown-target=menu]{color:var(--channel-ink);background:var(--portal-surface,#fff);border-color:var(--channel-line);border-radius:var(--portal-radius-field,4px);box-shadow:0 4px 12px rgba(14,32,56,.08)}
.channel-account-consumer .channel-app-header [data-dropdown-target=menu] :is(a,button):hover{background:var(--channel-soft)}
.channel-account-consumer .channel-app-header [data-dropdown-target=menu] :is(a,button):focus-visible{outline-color:var(--portal-brand,#12336F)}

/* 商品の物語: 白いカードに罫線。英語の小見出しは sans の太字・字間広め */
.channel-account-consumer .channel-display{font-family:var(--channel-sans);font-size:13px;font-weight:700;letter-spacing:.12em;line-height:1.5}
.channel-account-consumer .channel-hero{background:var(--portal-surface,#fff);border:1px solid var(--channel-line)}
.channel-account-consumer .channel-story{color:var(--channel-ink)}
.channel-account-consumer .channel-story .channel-display,.channel-account-consumer .channel-details-copy .channel-display{color:var(--channel-navy);font-size:13px}
.channel-account-consumer .channel-story .channel-eyebrow{color:var(--channel-muted)}
.channel-account-consumer .channel-story h1,.channel-account-consumer .channel-story .channel-story-title{color:var(--channel-ink)}
.channel-account-consumer .channel-product img{border-radius:var(--portal-radius-field,4px)}
.channel-account-consumer .channel-answer{background:var(--channel-soft)}
.channel-account-consumer .channel-answer .channel-answer-mark{border-radius:0}

/* 製造元の登録の照合: 確かめられたときはブランドの薄い面、未確認は灰の面（意味の分け方は従来どおり） */
.channel-account-consumer .channel-verification{border-color:color-mix(in srgb,var(--channel-navy) 30%,#fff);background:color-mix(in srgb,var(--channel-navy) 5%,#fff)}
.channel-account-consumer .channel-verification[data-manufacturer-state=unconfirmed]{border-color:var(--channel-line);background:var(--channel-soft)}

/* ボタン・選択肢・入力 */
.channel-account-consumer .channel-button{font-weight:600}
.channel-account-consumer .channel-button:hover{background:var(--color-primary-dark)}
.channel-account-consumer .channel-button:active{transform:none}
.channel-account-consumer .channel-button-outline{color:var(--channel-navy)!important;background:var(--portal-surface,#fff);border-color:var(--channel-navy)}
.channel-account-consumer .channel-button-outline:hover{background:var(--channel-soft)}
.channel-account-consumer .app-btn{border-radius:var(--portal-radius,2px);box-shadow:none}
.channel-account-consumer .channel-survey>.channel-eyebrow{background:var(--channel-soft);color:var(--channel-navy);border-radius:var(--portal-radius,2px)}
.channel-account-consumer .channel-choice{border-color:var(--portal-field-border,#7E8A97);border-radius:var(--portal-radius-field,4px)}
.channel-account-consumer .channel-choice:hover{background:var(--channel-soft);border-color:var(--channel-navy)}
.channel-account-consumer .channel-choice:has(input:checked){background:color-mix(in srgb,var(--channel-navy) 8%,#fff)}
.channel-account-consumer .channel-field :where(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:var(--portal-field-border,#7E8A97)}
.channel-account-consumer .channel-field :where(input,select,textarea):focus{border-color:var(--portal-brand,#12336F)}
.channel-account-consumer .channel-field input::file-selector-button{background:var(--channel-soft);border-radius:var(--portal-radius,2px)}

/* お礼・使えないとき・エラー（エラーの色は意味色のまま、角だけそろえる） */
.channel-account-consumer .channel-thanks{background:var(--portal-surface,#fff);border:1px solid var(--channel-line);border-radius:var(--portal-radius-field,4px)}
/* 列の端に罫線が接して切れて見えないよう、商品パスポートのカード（.app-product-content の左右の余白）と同じだけ内側に置く */
.channel-account-consumer .channel-thanks{margin-inline:24px}
@media(max-width:767px){.channel-account-consumer .channel-thanks{margin-inline:20px}}
@media(max-width:360px){.channel-account-consumer .channel-thanks{margin-inline:16px}}
.channel-account-consumer .channel-error{border-radius:var(--portal-radius-field,4px)}

/* Answer-by-answer check against the shipment destination (operators only). */
.channel-distribution-check { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 12px 0; padding: 10px 14px; border: 1px solid var(--portal-line, #E2E7ED); border-left: 4px solid var(--portal-line, #E2E7ED); border-radius: var(--portal-radius-field, 4px); background: #fff; font-size: 14px; line-height: 1.6; }
.channel-distribution-check-label { color: var(--portal-sub, #5C6B7C); }
.channel-distribution-check-state { font-weight: 700; }
.channel-distribution-check[data-distribution-check=matched] { border-left-color: #1a7f4e; }
.channel-distribution-check[data-distribution-check=matched] .channel-distribution-check-state { color: #14663f; }
.channel-distribution-check[data-distribution-check=mismatched] { border-color: #e0a59e; border-left-color: #b42318; background: #fff3f0; }
.channel-distribution-check[data-distribution-check=mismatched] .channel-distribution-check-state { color: #9f261b; }
.channel-account .channel-verification[data-distribution-heading] h2 { font-size: 24px; font-weight: 700; color: var(--channel-navy); }
