.diagnostic-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:4px 0 30px; }
.diagnostic-heading h2 { margin:8px 0; }
.diagnostic-heading p { margin:0; }
.diagnostic-heading-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; max-width:380px; }
.diagnostic-heading-actions .fine { flex-basis:100%; text-align:right; }
.diagnostic-context { display:grid; grid-template-columns:1.25fr 1fr 1fr auto; align-items:end; gap:16px; }
.diagnostic-context label { font-size:12px; display:block; }
.diagnostic-context label>span { display:inline; color:var(--color-muted); font-weight:400; }
.diagnostic-context :is(input,select) { display:block; width:100%; height:44px; font-family:inherit; font-size:13px; padding:10px 12px; margin-top:9px; }
.diagnostic-context button { min-height:44px; }
.diagnostic-context-hint { margin:12px 0 24px; }
.diagnostic-canvas { padding:22px 26px 17px; background:linear-gradient(125deg,#fff,#fafbfe); border:1px solid var(--color-line); border-radius:22px; box-shadow:0 4px 8px rgb(var(--color-shadow) / .02),0 22px 45px rgb(var(--color-shadow) / .025); }
.diagnostic-map-header,.diagnostic-map-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:12px; color:var(--color-muted); }
.diagnostic-map-header { border-bottom:1px solid var(--color-line); padding-bottom:14px; }
#admin-view .diagnostic-review { border:0; background:none; padding:5px 0; color:var(--color-navy); font-size:12px; font-family:inherit; text-underline-offset:4px; }
.diagnostic-review:not(:disabled):hover { text-decoration:underline; }
.diagnostic-map-scroll { overflow:auto; }
.diagnostic-map { min-width:940px; height:400px; position:relative; }
.diagnostic-map svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.diagnostic-map path { fill:none; stroke:var(--color-line-strong); stroke-width:1.3; vector-effect:non-scaling-stroke; }
.diagnostic-map path.attention { stroke:#b58094; stroke-dasharray:4 4; }
.diagnostic-map path.selected { stroke:var(--color-royal); stroke-width:2; stroke-dasharray:none; }
.diagnostic-lane { position:absolute; left:30%; top:10px; font-size:10px; color:var(--color-muted); letter-spacing:.06em; text-transform:uppercase; }
.diagnostic-lane.delivery { top:224px; }
#admin-view .diagnostic-node { position:absolute; width:18%; height:124px; padding:15px 17px; border:1px solid var(--color-line); border-radius:14px; background:linear-gradient(135deg,#fff,#f8faff); box-shadow:0 3px 6px rgb(var(--color-shadow) / .025),0 9px 22px rgb(var(--color-shadow) / .035); text-align:left; font-family:inherit; color:var(--color-navy); cursor:pointer; transition:border-color .15s,box-shadow .15s; }
#admin-view .diagnostic-node:hover { border-color:var(--color-line-strong); box-shadow:0 6px 22px rgb(var(--color-shadow) / .09); }
#admin-view .diagnostic-node[aria-pressed=true] { border-color:var(--color-royal); box-shadow:0 0 0 1px var(--color-royal),0 6px 22px rgb(var(--color-shadow) / .07); }
.diagnostic-node:focus-visible,.diagnostic-review:focus-visible,.diagnostic-gate:focus-visible { outline:2px solid var(--color-royal); outline-offset:5px; }
.diagnostic-node-top { display:flex; align-items:center; justify-content:space-between; font-size:10px; color:var(--color-muted); margin-bottom:10px; }
.diagnostic-node strong { display:block; font-size:16px; font-weight:500; letter-spacing:-.015em; margin-bottom:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.diagnostic-node-caption { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; line-height:1.5; color:var(--color-muted); }
.diagnostic-node.node-identity,.diagnostic-node.node-targets { left:30%; }
.diagnostic-node.node-network,.diagnostic-node.node-reports { left:56%; }
.diagnostic-node.node-permissions,.diagnostic-node.node-alerts { left:82%; }
.diagnostic-node.node-identity,.diagnostic-node.node-network,.diagnostic-node.node-permissions { top:36px; }
.diagnostic-node.node-targets,.diagnostic-node.node-reports,.diagnostic-node.node-alerts { top:250px; }
#admin-view .diagnostic-node.node-account { left:0; top:144px; width:20%; background:linear-gradient(135deg,#1a3269,#142650); border-color:var(--color-navy); color:white; }
#admin-view .node-account .diagnostic-node-top,#admin-view .node-account .diagnostic-node-caption { color:#d2ddef; }
#admin-view .node-account strong { white-space:normal; font-size:17px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
#admin-view .node-account[aria-pressed=true] { box-shadow:0 0 0 3px #cfdbf9,0 8px 24px rgb(var(--color-shadow) / .15); }
.diagnostic-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--color-royal); flex-shrink:0; }
.attention .diagnostic-dot,.blocked .diagnostic-dot,.diagnostic-dot.attention { background:var(--color-danger); }
.unknown .diagnostic-dot,.neutral .diagnostic-dot,.diagnostic-dot.unknown { background:transparent; border:1px solid var(--color-muted); }
.node-account .diagnostic-dot { background:#c7d8ff; }
.node-account.blocked .diagnostic-dot { background:#ffbdd0; }
.diagnostic-map-footer { border-top:1px solid var(--color-line); padding-top:16px; font-size:11px; }
.diagnostic-map-footer .diagnostic-dot { margin:0 5px 0 12px; width:6px; height:6px; }
.diagnostic-detail { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; padding:36px 4px 28px; outline:none; }
#admin-view .diagnostic-detail h3 { font-size:25px; font-weight:500; letter-spacing:-.02em; margin:8px 0 14px; }
#admin-view .diagnostic-detail .eyebrow { font-size:10px; letter-spacing:.065em; text-transform:uppercase; }
.diagnostic-facts { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:22px 26px; }
.diagnostic-facts dt { color:var(--color-muted); font-size:11px; margin-bottom:7px; }
.diagnostic-facts dd { margin:0; font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.diagnostic-next { margin-top:22px; align-items:center; gap:12px; }
#admin-view .diagnostic-source { font-size:10px; padding-top:18px; border-top:1px solid var(--color-line); margin-top:22px; }
.diagnostic-record { display:flex; flex-direction:column; gap:6px; font-size:12px; padding:14px 0; border-bottom:1px solid var(--color-line); overflow-wrap:anywhere; }
.diagnostic-role-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
#admin-view .diagnostic-role-guide p { font-size:12px; }
.diagnostic-role-guide strong,.diagnostic-role-guide span { display:block; }
.diagnostic-role-guide strong { color:var(--color-navy); font-weight:500; margin-bottom:5px; }
.diagnostic-boundary { border-top:1px solid var(--color-line); padding-top:18px; }
.diagnostic-check { border-left:2px solid var(--color-royal); background:var(--color-surface); padding:18px 22px; margin-bottom:26px; font-size:13px; }
.diagnostic-check.blocked { border-color:var(--color-danger); }
#admin-view .diagnostic-check p { font-size:12px; margin-bottom:8px; }
.diagnostic-check details { font-size:12px; margin-top:10px; color:var(--color-muted); }
#admin-view .diagnostic-gate { display:block; border:0; background:transparent; color:var(--color-navy); font-family:inherit; font-size:12px; padding:10px 0 0; text-align:left; line-height:1.6; cursor:pointer; }
.diagnostic-gate:hover { text-decoration:underline; text-underline-offset:3px; }
.admin-account-footer { flex-wrap:wrap; }
.admin-account-actions { display:flex; gap:8px; }
@media(max-width:1000px) { .diagnostic-context { grid-template-columns:1fr 1fr; }.diagnostic-detail { gap:28px; }.diagnostic-canvas { padding:18px; }.diagnostic-map-footer { flex-wrap:wrap; } }
@media(max-width:650px) { .diagnostic-heading { align-items:flex-start; flex-direction:column; }.diagnostic-heading-actions { justify-content:flex-start; max-width:none; }.diagnostic-heading-actions .fine { text-align:left; }.diagnostic-context { grid-template-columns:1fr; }.diagnostic-detail { grid-template-columns:1fr; gap:24px; }.diagnostic-facts { gap:20px; }.diagnostic-map-header { align-items:flex-start; }.diagnostic-map-footer { line-height:1.8; }.diagnostic-map-footer .diagnostic-dot:first-child { margin-left:0; } }
@media(prefers-reduced-motion:reduce) { #admin-view .diagnostic-node { transition:none; } }
