.architecture-explorer{display:grid;gap:16px}
.architecture-summary{margin:0}
.architecture-secondary-metrics{display:flex;gap:8px;flex-wrap:wrap}
.architecture-count{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fbfdff;font-size:.78rem}
.architecture-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(220px,auto);gap:10px;align-items:end}
.architecture-toolbar label{display:grid;gap:5px;font-size:.76rem;font-weight:700;color:var(--muted)}
.architecture-toolbar input,.architecture-toolbar button,.architecture-relation-filter{font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff}
.architecture-toolbar input{padding:10px 11px;color:inherit}
.architecture-toolbar button{padding:10px 14px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer}
#architecture-status{font-size:.76rem;color:var(--muted);padding-bottom:9px}
.architecture-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(420px,1.7fr) minmax(260px,.9fr);gap:12px;min-height:580px}
.architecture-pane{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fbfdff;overflow:hidden}
.pane-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}
.pane-head h3{margin:0;font-size:.95rem}
.pane-head span{font-size:.7rem;color:var(--muted)}
.architecture-tree,.architecture-inspector{height:540px;overflow:auto;padding:10px}
.architecture-root{display:grid;gap:5px;margin-bottom:6px}
.architecture-root-button,.architecture-node,.load-more{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:inherit}
.architecture-root-button{padding:9px 10px;font-weight:800;color:#183b68}
.architecture-tree-children,.architecture-node-children{display:grid;gap:5px;margin:5px 0 7px 12px;padding-left:8px;border-left:1px solid #cbd7e7}
.architecture-node{display:grid;gap:2px;padding:8px 9px}
.architecture-node:hover,.architecture-node.is-selected{border-color:#7f9fc8;background:#eef5ff}
.architecture-node-label{font-weight:750;overflow-wrap:anywhere}
.architecture-node-meta{font-size:.68rem;color:var(--muted)}
.load-more{padding:7px 9px;color:var(--blue);font-weight:750}
.architecture-graph-pane{display:grid;grid-template-rows:auto 1fr}
.architecture-graph{width:100%;height:540px;display:block;background:radial-gradient(circle at center,#fff,#f4f8fd);touch-action:none;cursor:grab}
.architecture-graph:active{cursor:grabbing}
.architecture-edge{stroke:#aab9cc;stroke-width:1.4;vector-effect:non-scaling-stroke}
.architecture-edge.is-structural{stroke:#365f95;stroke-width:2}
.architecture-graph-node{cursor:pointer;outline:none}
.architecture-graph-node circle{fill:#fff;stroke:#6484ad;stroke-width:2;vector-effect:non-scaling-stroke}
.architecture-graph-node.is-center circle{fill:#183b68;stroke:#183b68}
.architecture-graph-node text{font-size:11px;fill:#344b6b;pointer-events:none}
.architecture-graph-node.is-center .node-kind{fill:#fff}
.architecture-graph-node .node-kind{font-size:8px;font-weight:800}
.architecture-relation-filter{max-width:210px;padding:6px 8px;font-size:.72rem;color:#344b6b}
.architecture-inspector-list{display:grid;gap:7px;margin:10px 0}
.architecture-inspector-row{display:grid;grid-template-columns:105px 1fr;gap:8px;padding-bottom:6px;border-bottom:1px solid #edf1f6}
.architecture-inspector-row dt{font-size:.7rem;color:var(--muted);font-weight:800}
.architecture-inspector-row dd{margin:0;font-size:.78rem;overflow-wrap:anywhere}
.architecture-metadata summary{cursor:pointer;color:var(--blue);font-weight:800;font-size:.76rem}
.architecture-metadata pre{max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:9px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;font-size:.68rem}
.relation-gaps{border:1px solid var(--line);border-radius:10px;background:#fbfdff;overflow:hidden}
#relation-gaps-body{padding:12px}
.architecture-gap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.architecture-gap-card{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.architecture-gap-card span{font-size:.72rem;color:var(--muted)}
.architecture-gap-card strong{font-size:1.2rem}
.architecture-search-results{display:grid;gap:5px}
@media(max-width:1180px){.architecture-layout{grid-template-columns:minmax(250px,.9fr) minmax(420px,1.5fr)}.architecture-inspector-pane{grid-column:1/-1}.architecture-inspector{height:auto;max-height:360px}.architecture-gap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.architecture-toolbar{grid-template-columns:1fr}.architecture-layout{grid-template-columns:1fr;min-height:0}.architecture-tree,.architecture-inspector,.architecture-graph{height:420px}.architecture-gap-grid{grid-template-columns:1fr}.architecture-inspector-row{grid-template-columns:1fr}}

.architecture-coverage{display:grid;gap:14px}.architecture-coverage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.architecture-coverage-card,.coverage-category-button{border:1px solid var(--line);border-radius:10px;background:#fbfdff;padding:12px;text-align:left}.architecture-coverage-card span,.coverage-category-button span{display:block;color:var(--muted);font-size:.76rem}.architecture-coverage-card strong,.coverage-category-button strong{display:block;margin-top:5px;font-size:1.15rem;color:#183b68}.coverage-category-button{cursor:pointer;background:#fff}.coverage-category-button:hover,.coverage-category-button:focus-visible{border-color:#7f9fc9;background:#f7fbff;outline:none}.architecture-coverage-detail{min-width:0}.coverage-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.coverage-detail-head h4{margin:0}.architecture-coverage-table-wrap{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.architecture-coverage-table{width:100%;min-width:1500px;border-collapse:collapse;background:#fff}.architecture-coverage-table th,.architecture-coverage-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.78rem}.architecture-coverage-table th{position:sticky;top:0;background:#f4f7fb;z-index:2;color:var(--muted);text-align:left}.coverage-item-name{font-weight:800;color:#183b68}.coverage-open-button{border:1px solid #9db2cf;border-radius:7px;background:#fff;color:#183b68;padding:6px 9px;font-weight:800;cursor:pointer}.coverage-open-button:hover{background:#eef4fb}.coverage-not-promoted{color:var(--warn);font-size:.72rem}.architecture-coverage-table-wrap>.load-more{margin:10px}.architecture-coverage-list>.empty-state{margin:0}@media(max-width:1100px){.architecture-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.architecture-coverage-grid{grid-template-columns:1fr}.coverage-detail-head{align-items:flex-start;flex-direction:column}}

.module-functional-profile{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-functional-profile h4{margin:0 0 10px;color:#183b68}
.module-profile-section{display:grid;gap:8px;margin:0}
.module-profile-section .architecture-inspector-row{padding:8px;border:1px solid var(--line);border-radius:8px;background:#fbfdff}
.module-profile-section .architecture-inspector-row dd{white-space:pre-wrap;overflow-wrap:anywhere}
.architecture-edge.is-derived-observed{stroke-dasharray:7 5;stroke-width:1.8;opacity:.8}
.module-derived-chains{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-derived-chains h4{margin:0 0 6px;color:#183b68}
.module-derived-chain{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fbfdff}
.module-derived-chain-list{display:grid;gap:7px;margin:0}
.module-derived-chain-list .architecture-inspector-row{grid-template-columns:118px 1fr}
.architecture-module-review{display:grid;gap:12px;border:1px solid var(--line);border-radius:10px;background:#fbfdff;overflow:hidden}
.architecture-module-review-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px}
.architecture-module-review-grid .architecture-coverage-card{background:#fff}
.architecture-module-review-list{padding:0 12px 12px;min-width:0}
.module-review-table-wrap{max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:9px;background:#fff}
.module-review-table{width:100%;min-width:1500px;border-collapse:collapse}
.module-review-table th,.module-review-table td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.78rem}
.module-review-table th{position:sticky;top:0;background:#f4f7fb;z-index:2;color:var(--muted);text-align:left}
.module-review-module{font-weight:800;color:#183b68}
.module-review-decisions{display:flex;gap:5px;flex-wrap:wrap}
.module-review-decision-badge{display:inline-flex;padding:4px 7px;border:1px solid #a8bad1;border-radius:999px;background:#f7fbff;color:#183b68;font-size:.67rem;font-weight:750}
.module-review-table-wrap>.load-more{margin:10px}
@media(max-width:1100px){.architecture-module-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.architecture-module-review-grid{grid-template-columns:1fr}}
.module-ui-derived-chains{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-ui-derived-chains h4{margin:0 0 6px;color:#183b68}
.module-ui-derived-chain{margin-top:10px;padding:10px;border:1px dotted #7f9fc8;border-radius:8px;background:#f8fbff}
.module-ui-derived-chain .architecture-inspector-row{grid-template-columns:118px 1fr}
.architecture-edge.is-ui-derived-observed{stroke-dasharray:3 5;stroke-width:1.7;opacity:.78}
.architecture-edge.is-runtime-derived-observed{stroke-dasharray:10 4 2 4;stroke-width:1.8;opacity:.82}
.module-runtime-derived-chains{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-runtime-derived-chains h4{margin:0 0 6px;color:#183b68}
.module-runtime-derived-chain{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fbfdff}
.architecture-edge.is-relation-derived-observed{stroke-dasharray:2 4;stroke-width:1.7;opacity:.8}
.module-relation-derived-edges{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-relation-derived-edges h4{margin:0 0 6px;color:#183b68}
.module-relation-derived-edge{margin-top:10px;padding:10px;border:1px dotted var(--line);border-radius:8px;background:#fbfdff}
.architecture-edge.is-process-binding-observed{stroke-dasharray:12 3;stroke-width:1.7;opacity:.78}
.module-process-bindings{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-process-bindings h4{margin:0 0 6px;color:#183b68}
.module-process-binding{margin-top:10px;padding:10px;border:1px dashed #98a9bd;border-radius:8px;background:#fbfdff}
.module-process-binding .architecture-inspector-row{grid-template-columns:118px 1fr}

.architecture-edge.is-screen-persistence-observed{stroke-dasharray:6 3;stroke-width:1.8;opacity:.82}
.module-screen-persistence{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-screen-persistence h4{margin:0 0 6px;color:#183b68}
.module-screen-persistence-row{margin-top:10px;padding:10px;border:1px dashed #8fa9c8;border-radius:8px;background:#fbfdff}
.architecture-edge.is-executable-usage-observed{stroke-dasharray:1 5;stroke-width:1.6;opacity:.76}
.module-executable-usage{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-executable-usage h4{margin:0 0 6px;color:#183b68}
.module-executable-usage-row{margin-top:10px;padding:10px;border:1px dotted var(--line);border-radius:8px;background:#fbfdff}

.architecture-edge.is-screen-depth-persistence-observed{stroke-dasharray:1 4;stroke-width:2;opacity:.86}
.module-screen-depth-persistence{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-screen-depth-persistence h4{margin:0 0 6px;color:#183b68}
.module-screen-depth-persistence-row{margin-top:10px;padding:10px;border:1px dotted var(--line);border-radius:8px;background:#fbfdff}
.architecture-edge.is-physical-relationship-corroboration{stroke-dasharray:9 4 2 4;stroke-width:2;opacity:.84}
.module-physical-relationship-corroboration{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-physical-relationship-corroboration h4{margin:0 0 6px;color:#183b68}
.module-physical-relationship-corroboration-row{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fbfdff}
.architecture-edge.is-physical-component-dependency-corroboration{stroke-dasharray:6 3 1 3;stroke-width:2;opacity:.84}
.module-physical-component-dependency-corroboration{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.module-physical-component-dependency-corroboration h4{margin:0 0 6px;color:#183b68}
.module-physical-component-dependency-corroboration-row{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:8px;background:#fbfdff}
