/* Route grouping changes presentation only; original protocol cells are retained. */
.protocol-groups { margin:20px 0 28px; }
.prose .protocol-route-group { margin:0 0 24px;padding:0;border:0; }
.protocol-route-group>summary { display:flex;align-items:center;gap:12px;list-style:none;cursor:default;font:600 15px/1.5 var(--sans);color:var(--ink);padding:0 0 10px; }
.protocol-route-group>summary::-webkit-details-marker { display:none; }
.protocol-route-group>.table-scroll { margin:0; }
@media(max-width:760px) {
 .prose .protocol-route-group { margin:0 0 14px;border:1px solid var(--line);border-radius:7px;overflow:hidden; }
 .protocol-route-group>summary { min-height:48px;padding:13px 16px;cursor:pointer;background:var(--pale); }
 .protocol-route-group>summary::after { content:'+';margin-left:auto;font:normal 22px/1 var(--sans);color:var(--accent); }
 .protocol-route-group[open]>summary::after { content:'−'; }
 .protocol-route-group[open]>summary { border-bottom:1px solid var(--line); }
 .protocol-route-group>summary:focus-visible { outline-offset:-4px; }
 .protocol-route-group>.table-scroll { padding:12px; }
 .prose .protocol-route-group tr:last-child { margin-bottom:0; }
}
@media print {
 .protocol-route-group::details-content { content-visibility:visible!important; }
 .prose .protocol-route-group { border:0;border-radius:0;break-inside:auto; }
 .protocol-route-group>summary { padding:0 0 8px;background:transparent;break-after:avoid; }
 .protocol-route-group>summary::after { display:none; }
 .protocol-route-group>.table-scroll { padding:0; }
}
