/* Edel AI Works デモ。テーマの色（藍・罫・朱）を使う。朱は「人が確認する箇所」だけ */
.eaw-demo {
	--d-ink: var(--wp--preset--color--contrast, #1C2330);
	--d-muted: var(--wp--preset--color--muted, #5A6474);
	--d-ai: var(--wp--preset--color--accent, #223A6A);
	--d-tint: var(--wp--preset--color--accent-light, #E9EEF5);
	--d-rule: var(--wp--preset--color--line, #C8D2DF);
	--d-paper: var(--wp--preset--color--paper, #F6F7F4);
	--d-shu: var(--wp--preset--color--attention, #C23B22);
	font-size: 0.9375rem;
}
.eaw-demo * { box-sizing: border-box; }

/* ---- 入力 ---- */
.eaw-demo-input { border-top: 2px solid var(--d-ink); padding-top: 1.25rem; }
.eaw-demo-input--doc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.eaw-demo-step { display: flex; align-items: center; gap: 0.6rem; font-weight: 700; margin: 0 0 0.75rem; }
.eaw-demo-step:not(:first-child) { margin-top: 1.5rem; }
.eaw-demo-step b, .eaw-demo-panel__title b {
	display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%;
	background: var(--d-ai); color: #fff; font-size: 0.8125rem; flex: none;
}
.eaw-demo-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.75rem; }
.eaw-demo-chip {
	font: inherit; font-size: 0.875rem; cursor: pointer;
	padding: 0.45rem 0.9rem; border: 1px solid var(--d-rule); border-radius: 4px; background: #fff; color: var(--d-ink);
}
.eaw-demo-chip:hover { border-color: var(--d-ai); }
.eaw-demo-chip.is-on { border-color: var(--d-ai); background: var(--d-tint); font-weight: 700; }
.eaw-demo-textarea {
	width: 100%; font: inherit; font-size: 0.9375rem; line-height: 1.8; color: var(--d-ink);
	border: 1px solid #A9B5C4; border-radius: 4px; padding: 0.85rem 1rem; background: #fff; resize: vertical;
}
.eaw-demo-textarea:focus, .eaw-demo-chip:focus-visible, .eaw-demo-run:focus-visible { outline: 2px solid var(--d-ai); outline-offset: 2px; }
.eaw-demo-help { font-size: 0.8125rem; color: var(--d-muted); margin: 0.5rem 0 0; }
.eaw-demo-run { border: 0; cursor: pointer; font: inherit; font-weight: 700; padding: 0.95rem 2.25rem; border-radius: 4px; background: var(--d-ai); color: #fff; }
.eaw-demo-run[disabled] { opacity: 0.55; cursor: wait; }
.eaw-demo-upload { display: flex; flex-direction: column; gap: 0.4rem; margin-top: 0.5rem; font-size: 0.875rem; font-weight: 700; }
.eaw-demo-file { font: inherit; font-size: 0.8125rem; font-weight: 400; }
.eaw-demo-chosen { margin: 0.75rem 0 0; font-size: 0.875rem; }
.eaw-demo-pdfwrap { border: 1px solid var(--d-rule); border-radius: 4px; background: var(--d-paper); aspect-ratio: 210 / 297; max-height: 640px; }
.eaw-demo-pdf { width: 100%; height: 100%; border: 0; display: block; border-radius: 4px; }

/* ---- 待ち・エラー ---- */
.eaw-demo-out:empty { display: none; }
.eaw-demo-out { margin-top: 2rem; scroll-margin-top: 1rem; }
.eaw-demo-wait { display: flex; align-items: center; gap: 0.75rem; padding: 1.25rem; background: var(--d-paper); border-radius: 4px; }
.eaw-demo-wait__dot { width: 0.8rem; height: 0.8rem; border-radius: 50%; background: var(--d-ai); animation: eaw-demo-pulse 1s ease-in-out infinite alternate; }
.eaw-demo-wait__time { color: var(--d-muted); font-variant-numeric: tabular-nums; }
@keyframes eaw-demo-pulse { from { opacity: 0.25; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .eaw-demo-wait__dot { animation: none; } }
.eaw-demo-error { padding: 1rem 1.25rem; border-left: 3px solid var(--d-ink); background: var(--d-paper); margin: 0; }

/* ---- 結果 ---- */
.eaw-demo-result { display: grid; gap: 1rem; }
.eaw-demo-result__row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 1rem; }
.eaw-demo-panel { background: #fff; border: 1px solid var(--d-rule); border-radius: 4px; padding: 1.25rem 1.4rem 1.4rem; position: relative; }
.eaw-demo-panel__title { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 1rem; font-size: 0.9375rem; color: var(--d-ai); }
.eaw-demo-panel h4 { font-size: 0.8125rem; color: var(--d-muted); margin: 1.1rem 0 0.4rem; }
.eaw-demo-panel ul { margin: 0; padding-left: 1.1em; }
.eaw-demo-panel li { margin: 0.25rem 0; }
.eaw-demo-scroll { overflow-x: auto; }
.eaw-demo-ledger, .eaw-demo-items { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.eaw-demo-ledger th, .eaw-demo-items th { font-weight: 400; font-size: 0.75rem; color: var(--d-muted); background: var(--d-tint); text-align: left; padding: 0.45rem 0.6rem; white-space: nowrap; }
.eaw-demo-ledger td, .eaw-demo-items td { padding: 0.6rem; border-bottom: 1px solid var(--d-rule); vertical-align: top; }
.eaw-demo-ledger tr.is-new td { background: #FFF6D6; font-weight: 700; }
.eaw-demo-ledger td:nth-child(-n+4) { white-space: nowrap; }
.eaw-demo-tag { display: inline-block; padding: 0 0.45rem; border: 1px solid var(--d-ai); border-radius: 2px; color: var(--d-ai); font-size: 0.75rem; }
.eaw-demo-urgency { font-size: 0.8125rem; }
.eaw-demo-urgency.is-high { color: var(--d-ink); text-decoration: underline 2px; text-underline-offset: 3px; }
.eaw-demo-meta { font-size: 0.8125rem; color: var(--d-muted); margin: 0.75rem 0 0; }
.eaw-demo-draft__body { white-space: pre-wrap; line-height: 1.9; font-size: 0.875rem; padding-bottom: 2.5rem; }
.eaw-demo-stamp {
	position: absolute; right: 1.1rem; bottom: 1rem; width: 58px; height: 58px; border: 2px solid var(--d-shu); border-radius: 50%;
	color: var(--d-shu); display: grid; place-items: center; font-weight: 700; font-size: 0.75rem; letter-spacing: 0; transform: rotate(-14deg);
}
.eaw-demo-human { background: #FCF6F4; border-color: #EBCFC8; }
.eaw-demo-human .eaw-demo-panel__title { color: var(--d-shu); }
.eaw-demo-human .eaw-demo-panel__title b { background: var(--d-shu); }
.eaw-demo-empty { color: var(--d-muted); font-size: 0.875rem; margin: 0; }
.eaw-demo-foot { font-size: 0.8125rem; color: var(--d-muted); margin: 0.75rem 0 0; }

/* PDF */
.eaw-demo-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 0 1.5rem; margin: 0 0 1rem; border-top: 1px solid var(--d-rule); }
.eaw-demo-fields > div { display: grid; grid-template-columns: 5.5em 1fr; gap: 0.5rem; padding: 0.5rem 0; border-bottom: 1px solid var(--d-rule); font-size: 0.875rem; }
.eaw-demo-fields dt { color: var(--d-muted); }
.eaw-demo-fields dd { margin: 0; font-weight: 700; }
.eaw-demo-items td.n, .eaw-demo-items tfoot td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.eaw-demo-items td.c { text-align: center; }
.eaw-demo-items td small { display: block; color: var(--d-shu); font-size: 0.75rem; }
.eaw-demo-items tr.is-low td { background: #FCF6F4; }
.eaw-demo-items tr.is-low td:first-child { box-shadow: inset 3px 0 0 var(--d-shu); }
.eaw-demo-items tfoot th { text-align: right; background: transparent; font-size: 0.8125rem; color: var(--d-ink); padding: 0.45rem 0.6rem; }
.eaw-demo-items tfoot td { padding: 0.45rem 0.6rem; font-weight: 700; }
.eaw-demo-csv { margin-top: 1rem; font: inherit; font-size: 0.875rem; font-weight: 700; cursor: pointer; padding: 0.55rem 1.1rem; border: 1px solid var(--d-ink); border-radius: 4px; background: #fff; color: var(--d-ink); }
.eaw-demo-csv:hover { background: var(--d-ink); color: #fff; }
.eaw-demo-checks ul { list-style: none; padding: 0; }
.eaw-demo-checks li { padding: 0.5rem 0 0.5rem 1.8rem; position: relative; border-bottom: 1px dashed var(--d-rule); }
.eaw-demo-checks li::before { position: absolute; left: 0.2rem; top: 0.45rem; font-weight: 700; }
.eaw-demo-checks li.is-ok::before { content: "✓"; color: var(--d-ai); }
.eaw-demo-checks li.is-ng { color: var(--d-shu); font-weight: 700; }
.eaw-demo-checks li.is-ng::before { content: "✕"; color: var(--d-shu); }
.eaw-demo-checks li.is-warn::before { content: "！"; color: var(--d-shu); }

/* 次の一歩 */
.eaw-demo-next { margin-top: 1.5rem; padding: 1.25rem 1.4rem; background: var(--d-paper); border-top: 2px solid var(--d-ink); display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.eaw-demo-next p { margin: 0; max-width: 40em; font-size: 0.875rem; }
.eaw-demo-next .wp-block-button__link { text-decoration: none; white-space: normal; }

@media (max-width: 781px) {
	.eaw-demo-input--doc, .eaw-demo-result__row { grid-template-columns: minmax(0, 1fr); }
	.eaw-demo-pdfwrap { max-height: 420px; }
}

/* 業種の切り替え */
.eaw-demo-industries { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 0.75rem; border-bottom: 1px solid var(--d-rule); }
.eaw-demo-industry {
	font: inherit; font-size: 0.875rem; font-weight: 700; cursor: pointer;
	padding: 0.6rem 1rem; margin-bottom: -1px; background: transparent; color: var(--d-muted);
	border: 0; border-bottom: 3px solid transparent;
}
.eaw-demo-industry:hover { color: var(--d-ink); }
.eaw-demo-industry.is-on { color: var(--d-ink); border-bottom-color: var(--d-ai); }
.eaw-demo-industry:focus-visible { outline: 2px solid var(--d-ai); outline-offset: 2px; }
.eaw-demo-company { margin: 0 0 0.75rem; font-size: 0.8125rem; color: var(--d-muted); }
@media (max-width: 600px) {
	.eaw-demo-industries { flex-wrap: wrap; }

	.eaw-demo-industry { white-space: normal; padding: 0.6rem 0.8rem; }
}

/* 社内資料の検索・FAQ */
.eaw-kb { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.eaw-kb-chips { flex-direction: column; align-items: flex-start; }
.eaw-kb-chips .eaw-demo-chip { text-align: left; }
.eaw-kb-docs { border-top: 1px solid var(--d-rule); }
.eaw-kb-doc { border-bottom: 1px solid var(--d-rule); }
.eaw-kb-doc summary { cursor: pointer; font-weight: 700; padding: 0.7rem 0; font-size: 0.9375rem; }
.eaw-kb-doc summary:hover { color: var(--d-ai); }
.eaw-kb-doc__text { white-space: pre-wrap; font-size: 0.8125rem; line-height: 1.8; color: #3A4353; padding: 0 0 1rem; max-height: 22rem; overflow-y: auto; }
.eaw-kb-q { margin: 0 0 0.75rem; font-size: 0.8125rem; color: var(--d-muted); }
.eaw-kb-answer { font-size: 0.9375rem; line-height: 1.95; white-space: pre-wrap; }
.eaw-kb-ref { font-size: 0.6875rem; font-weight: 700; color: var(--d-ai); margin-left: 0.1em; }
.eaw-kb-sources { margin: 0; padding: 0; list-style: none; }
.eaw-kb-sources li { padding: 0.6rem 0; border-top: 1px dashed var(--d-rule); }
.eaw-kb-sources__doc { font-size: 0.8125rem; font-weight: 700; color: var(--d-ai); }
.eaw-kb-sources blockquote { margin: 0.35rem 0 0; padding: 0.5rem 0.75rem; background: var(--d-paper); border-left: 3px solid var(--d-ai); font-size: 0.8125rem; line-height: 1.8; white-space: pre-wrap; }
@media (max-width: 781px) { .eaw-kb { grid-template-columns: minmax(0, 1fr); } }

/* FAX・手書き注文書 */
.eaw-fax-view { border: 1px solid var(--d-rule); border-radius: 4px; background: var(--d-paper); max-height: 680px; overflow: auto; }
.eaw-fax-view img { display: block; width: 100%; height: auto; }
.eaw-fax-view .eaw-demo-pdf { aspect-ratio: 210 / 297; height: auto; }
.eaw-fax-master { margin-top: 1rem; border-top: 1px solid var(--d-rule); border-bottom: 1px solid var(--d-rule); }
.eaw-fax-master summary { cursor: pointer; font-size: 0.875rem; font-weight: 700; padding: 0.65rem 0; }
.eaw-fax-master summary:hover { color: var(--d-ai); }
.eaw-fax-master table { margin-bottom: 0.75rem; font-size: 0.8125rem; }
.eaw-fax-written { font-size: 0.9375rem; }
.eaw-fax-lines td b { font-variant-numeric: tabular-nums; }
.eaw-fax-match { display: inline-block; white-space: nowrap; font-size: 0.75rem; padding: 0 0.45rem; border: 1px solid var(--d-ai); border-radius: 2px; color: var(--d-ai); }
.eaw-fax-match.is-warn { border-color: var(--d-shu); color: var(--d-shu); font-weight: 700; }
.eaw-fax-count { margin: 0 0 0.5rem; font-weight: 700; }

/* 注文書と請求書の照合 */
.eaw-match-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; margin: 0 0 1rem; }
.eaw-match-pair:empty { display: none; }
.eaw-match-doc { margin: 0; }
.eaw-match-doc figcaption { font-size: 0.8125rem; font-weight: 700; margin-bottom: 0.4rem; }
.eaw-match-doc .eaw-demo-pdfwrap { max-height: 480px; }
.eaw-match-own { border-top: 1px solid var(--d-rule); border-bottom: 1px solid var(--d-rule); }
.eaw-match-own summary { cursor: pointer; font-size: 0.875rem; font-weight: 700; padding: 0.65rem 0; }
.eaw-match-own__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
.eaw-match-own .eaw-demo-help { margin-bottom: 0.75rem; }
.eaw-match-docs { margin: 0 0 1rem; }
.eaw-match-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--d-rule); border-bottom: 1px solid var(--d-rule); margin-bottom: 1rem; }
.eaw-match-summary > div { padding: 0.7rem 0.9rem; display: flex; flex-direction: column; gap: 0.15rem; }
.eaw-match-summary > div + div { border-left: 1px solid var(--d-rule); }
.eaw-match-summary span { font-size: 0.75rem; color: var(--d-muted); }
.eaw-match-summary b { font-size: 1.0625rem; font-variant-numeric: tabular-nums; }
.eaw-match-summary .is-ng b, .eaw-match-summary .is-warn b { color: var(--d-shu); }
.eaw-match-table th[colspan] { text-align: center; color: var(--d-ink); font-weight: 700; }
.eaw-match-table td.eaw-match-b { border-left: 2px solid var(--d-rule); }
.eaw-match-status { white-space: nowrap; font-size: 0.8125rem; }
.eaw-match-status small { display: block; white-space: normal; min-width: 12em; color: var(--d-muted); font-size: 0.75rem; }
.eaw-match-table tr.is-ok .eaw-match-status span { color: var(--d-ai); }
.eaw-match-table tr.is-ng td { background: #FCF6F4; }
.eaw-match-table tr.is-ng .eaw-match-status { box-shadow: inset 3px 0 0 var(--d-shu); }
.eaw-match-table tr.is-ng .eaw-match-status span, .eaw-match-table tr.is-warn .eaw-match-status span { color: var(--d-shu); font-weight: 700; }
.eaw-match-table td.is-diff { color: var(--d-shu); font-weight: 700; text-decoration: underline 2px; text-underline-offset: 3px; }

/* 口コミへの返信 */
.eaw-review-starrow { display: flex; align-items: center; gap: 0.75rem; margin: 0.25rem 0 0.75rem; font-size: 0.875rem; }
.eaw-review-stars { display: flex; gap: 0.15rem; }
.eaw-review-stars button { font-size: 1.5rem; line-height: 1; padding: 0.1rem; border: 0; background: none; cursor: pointer; color: #C9CFD8; }
.eaw-review-stars button.is-on { color: #D9A21B; }
.eaw-review-stars button:focus-visible { outline: 2px solid var(--d-ai); outline-offset: 1px; }

@media (max-width: 781px) {
	.eaw-match-pair, .eaw-match-own__body { grid-template-columns: minmax(0, 1fr); }
	.eaw-match-pair .eaw-demo-pdfwrap { max-height: 300px; }
	.eaw-match-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.eaw-match-summary > div:nth-child(3) { border-left: 0; }
	.eaw-match-summary > div:nth-child(n+3) { border-top: 1px solid var(--d-rule); }
}

/* 結果のグリッドが中の表の幅に引っぱられて、画面からはみ出さないようにする */
.eaw-demo-result { grid-template-columns: minmax(0, 1fr); }
.eaw-demo-result > *, .eaw-demo-result__row > * { min-width: 0; }
/* 表は細く潰さず、狭い画面では横にスクロールさせる */
.eaw-fax-lines { min-width: 680px; }
.eaw-match-table { min-width: 820px; }
/* 補足の文字：朱は「人が確認する行」だけ */
.eaw-fax-lines tr:not(.is-low) td small { color: var(--d-muted); }
.eaw-match-status small { color: var(--d-muted); }
.eaw-match-table tr.is-ng .eaw-match-status small, .eaw-match-table tr.is-warn .eaw-match-status small { color: var(--d-shu); }

/* ファイル選択欄や長い名前が、グリッドの最小幅を押し広げないようにする。 */
.eaw-demo-input--doc > *, .eaw-kb > *, .eaw-match-pair > *, .eaw-match-own__body > * { min-width: 0; }
.eaw-demo-file { display: block; width: 100%; max-width: 100%; min-width: 0; }
.eaw-demo-chosen, .eaw-demo-help, .eaw-match-doc figcaption, .eaw-demo-panel, .eaw-kb-doc__text { overflow-wrap: anywhere; }
.eaw-demo-chip, .eaw-demo-run, .eaw-demo-next .wp-block-button__link { max-width: 100%; overflow-wrap: anywhere; }
.eaw-demo-pdfwrap { width: 100%; min-width: 0; }
.eaw-demo-fields > div { grid-template-columns: minmax(0, 5.5em) minmax(0, 1fr); }
.eaw-demo-fields dd { overflow-wrap: anywhere; }
