/* Dahua series: reuse AP Odoo Labs design tokens and components. */
.dahua-page .integration-diagram{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(7,11,22,.45)}
.integration-diagram figcaption{color:var(--brand2);font-size:13px;margin-bottom:16px;font-weight:600}
.integration-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.integration-flow li{position:relative;border:1px solid rgba(122,162,255,.35);border-radius:14px;padding:16px;background:linear-gradient(135deg,rgba(122,162,255,.13),rgba(155,255,214,.04));min-width:0}
.integration-flow li:not(:last-child)::after{content:'→';position:absolute;right:-23px;top:50%;transform:translateY(-50%);color:var(--brand2);font-size:20px}
.integration-flow li:nth-child(3n):not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-30px;transform:none}
.integration-flow strong{display:block;font-size:14px;overflow-wrap:anywhere}.flow-number{display:block;color:var(--brand2);font-size:11px;letter-spacing:.12em;margin-bottom:7px}
.event-record{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}
.event-record div{padding:12px 16px;background:var(--bg)}.event-record dt{color:var(--muted);font-size:12px}.event-record dd{margin:4px 0 0;font-family:ui-monospace,monospace}
.benefits{margin:16px 0}.benefits>div{padding:12px 0;border-bottom:1px solid var(--line)}.benefits dt{font-weight:700;color:var(--text)}.benefits dd{margin:4px 0 0;color:var(--muted)}
.source-links a{color:var(--brand2);text-decoration:underline;text-underline-offset:3px}.source-links li{margin:8px 0}.dahua-page .kb-sidebar{max-height:calc(100vh - 120px);overflow:auto}.dahua-page .article ul{color:var(--muted)}
.dahua-page a:focus-visible,.dahua-page button:focus-visible{outline:2px solid var(--brand2);outline-offset:4px}
@media(max-width:920px){.dahua-page .kb-sidebar{max-height:none}.dahua-page .kb-hero,.dahua-page .section,.dahua-page .footer{padding-left:24px;padding-right:24px}}
@media(max-width:600px){.integration-flow{grid-template-columns:1fr;gap:28px}.integration-flow li:not(:last-child)::after,.integration-flow li:nth-child(3n):not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-30px;transform:none}.event-record{grid-template-columns:1fr}.dahua-page h1{font-size:34px}.dahua-page .card{padding:18px}.dahua-page .container{padding-left:18px;padding-right:18px}}
/* A continuous vertical path inside the article avoids ambiguous wrapped arrows. */
.dahua-page .article .integration-flow{grid-template-columns:1fr}
.dahua-page .article .integration-flow li{display:flex;align-items:center;gap:16px;padding:12px 16px}
.dahua-page .article .flow-number{margin:0;flex-shrink:0}
.dahua-page .article .integration-flow li:not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-30px;transform:none}
@media(min-width:921px){.dahua-page main>.section .integration-flow{grid-template-columns:repeat(5,minmax(0,1fr))}.dahua-page main>.section .integration-flow li:nth-child(3n):not(:last-child)::after{content:'→';right:-23px;top:50%;bottom:auto;transform:translateY(-50%)}}
@media(min-width:601px) and (max-width:920px){.dahua-page main>.section .integration-flow{grid-template-columns:1fr}.dahua-page main>.section .integration-flow li:not(:last-child)::after{content:'↓';right:50%;top:auto;bottom:-30px;transform:none}}
