.cm-controls{margin-bottom:14px}.cm-control-grid{display:grid;grid-template-columns:minmax(240px,1.7fr) minmax(170px,1fr) minmax(180px,1fr) minmax(195px,1fr);gap:16px;align-items:end}.cm-control-grid .field{margin:0;min-width:0}.cm-control-grid select,.cm-control-grid input{width:100%;min-width:0}.cm-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:#647268}.cm-toolbar .toggle-row{margin:0 0 0 auto;gap:14px}.cm-mode{display:inline-flex;padding:7px 10px;border-radius:7px;background:#eaf2e4;color:#3d6930;font-weight:600}.cm-mode.cm-simulation{background:#fff2d8;color:#886117}.cm-legend{display:flex;gap:20px;flex-wrap:wrap;margin:12px 0;font-size:12px;color:#66716b}.cm-legend>span{display:inline-flex;align-items:center;gap:8px}.cm-legend i{width:18px;border-top:2px solid #67994d}
html:root body .cm-viewport{padding:28px 20px;height:calc(100vh - 350px);min-height:380px;overflow:auto;overscroll-behavior:contain;position:relative;background:#f6f8f5;box-sizing:border-box}.cm-canvas{display:inline-flex;width:max-content;min-width:100%;justify-content:center;position:relative;isolation:isolate;padding:0 8px 24px;box-sizing:border-box}.cm-tree{display:flex;flex-direction:column;align-items:center;flex:none}.cm-children{display:flex;align-items:flex-start;gap:24px;padding-top:34px}.cm-branch{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:268px}.cm-edge-label{position:relative;z-index:1;max-width:245px;box-sizing:border-box;padding:5px 9px;border-radius:6px;text-align:center;font-size:11px;line-height:1.5;color:#6b7780;background:#edf0f1;border:1px solid #dce2e5}.cm-edge-label.cm-edge-active{color:#3b682b;background:#edf5e8;border-color:#bbcfb0}.cm-connectors{position:absolute;top:0;left:0;pointer-events:none;z-index:0;overflow:visible}.cm-connectors path{fill:none;stroke-width:2}.cm-link-active{stroke:#67994d}.cm-link-muted{stroke:#a7b1b7;stroke-dasharray:5 4}
html:root body .cm-node{position:relative;z-index:1;width:268px;box-sizing:border-box;flex:none;border:1px solid #dce4d8;border-top:3px solid var(--cm-accent,#77936e);border-radius:10px;background:#fff;color:#26332d;padding:15px 16px;box-shadow:0 2px 8px #253a2510}.cm-node-kind{text-transform:uppercase;letter-spacing:.07em;font-size:10px;color:#738178;font-weight:600;margin-bottom:8px}.cm-node h3{font-size:14px;line-height:1.5;margin:0 0 9px;overflow-wrap:anywhere}.cm-node p{font-size:12px;line-height:1.6;margin:4px 0;overflow-wrap:anywhere}.cm-node.cm-inactive{opacity:.68}.cm-config-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:11px}.cm-config-link .icon{width:13px;height:13px}.cm-node-details{font-size:11px;margin-top:12px;border-top:1px solid #e1e7dd;padding-top:10px}.cm-node-details summary{cursor:pointer;line-height:1.6;font-weight:600}.cm-node-details ul{margin:10px 0 0;padding-left:16px;line-height:1.6}.cm-node-details li+li{margin-top:7px}
html:root body .cm-node.cm-standard{--cm-accent:#397bc2}html:root body .cm-node.cm-hours{--cm-accent:#c19235}html:root body .cm-node.cm-voicemail{--cm-accent:#8b65b5}html:root body .cm-node.cm-end{--cm-accent:#ab6470}html:root body .cm-node.cm-answer{--cm-accent:#4c9e6e}html:root body .cm-node.cm-incoming{--cm-accent:#619d46}
html[data-theme="dark"] body .cm-toolbar,html[data-theme="dark"] body .cm-legend{color:#b8c6cb}html[data-theme="dark"] body .cm-mode{background:#283e2e;color:#b7d8a5}html[data-theme="dark"] body .cm-mode.cm-simulation{background:#44391f;color:#ebd19c}html[data-theme="dark"]:root body .cm-viewport{background:#141d21}html[data-theme="dark"]:root body .cm-node{background:#222e34;color:#e5edf0;border-color:#40525b;border-top-color:var(--cm-accent,#77936e);box-shadow:0 2px 10px #0002}html[data-theme="dark"] body .cm-node-kind{color:#adbec5}html[data-theme="dark"] body .cm-edge-label{background:#253239;border-color:#42525a;color:#c5d0d6}html[data-theme="dark"] body .cm-edge-label.cm-edge-active{background:#2b402e;border-color:#648753;color:#d0e4c2}html[data-theme="dark"] body .cm-node-details{border-color:#40525b}html[data-theme="dark"] body .cm-node.cm-inactive{opacity:.76}
@media(max-width:1200px){.cm-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-toolbar .toggle-row{margin-left:0}.cm-viewport{height:calc(100vh - 430px)}}
@media(max-width:600px){.cm-control-grid{grid-template-columns:minmax(0,1fr)}.cm-controls{padding:16px}.cm-toolbar{gap:10px}.cm-node{width:244px}.cm-viewport{min-height:420px}}
.cm-map-tools{display:flex;align-items:center;gap:8px;position:sticky;top:0;left:0;z-index:4;width:fit-content;max-width:100%;flex-wrap:wrap;box-sizing:border-box;margin-bottom:20px;padding:8px;border:1px solid #dce4d8;border-radius:9px;background:#f6f8f5}.cm-map-tools .button{padding:7px 10px;min-height:32px;font-size:11px}.cm-map-tools output{min-width:42px;text-align:center;font-size:12px}
html:root body .cm-node{width:248px;padding:11px 13px}.cm-node h3{font-size:13px;line-height:1.4;margin-bottom:6px}.cm-node-kind{font-size:9px;margin-bottom:6px;padding-right:24px}.cm-node .cm-node-summary{font-size:11px;margin-bottom:0}.cm-node .cm-config-link{position:absolute;top:7px;right:9px;margin:0;padding:4px}.cm-card-details{font-size:11px;margin-top:7px}.cm-card-details>summary{cursor:pointer;color:#5d7c4e;font-size:11px}.cm-children{gap:20px;padding-top:24px}.cm-branch{min-width:248px;gap:8px}.cm-edge-label{font-size:10px;padding:4px 8px;max-width:230px}
html:root body .cm-viewport.cm-expanded{position:fixed;z-index:55;top:74px;left:268px;right:18px;bottom:18px;height:auto;min-height:0;margin:0;box-shadow:0 8px 36px #0003}.cm-expanded .cm-map-tools{background:#f6f8f5}
html[data-theme="dark"] body .cm-map-tools{background:#19262c;border-color:#40525b}html[data-theme="dark"] body .cm-card-details>summary{color:#bfd6ad}
@media(max-width:850px){html:root body .cm-viewport.cm-expanded{left:84px;top:74px;right:12px;bottom:12px}}@media(max-width:500px){html:root body .cm-viewport.cm-expanded{left:10px;top:70px}}
.cm-expanded-context{display:none;font-size:11px;color:#647268}.cm-expanded .cm-expanded-context{display:inline-block;margin-left:8px}html[data-theme="dark"] .cm-expanded-context{color:#bfced3}

/* Keep the routing map prominent; scenario controls live in a dialog. */
html:root body .cm-viewport{height:calc(100dvh - 170px);min-height:360px;padding:16px}
.cm-map-tools{width:100%;margin-bottom:16px}.cm-settings-trigger{margin-left:auto;white-space:nowrap}.cm-expanded-context{display:inline-block;margin-left:8px}
html:root body .cm-settings-dialog{width:780px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);box-sizing:border-box;padding:24px;border:1px solid #dce4d8;border-radius:14px;background:#fff;color:#26332d;box-shadow:0 20px 70px #17271940;overflow:auto}
.cm-settings-dialog::backdrop{background:#111b2073}.cm-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.cm-settings-heading h2{margin:0;font-size:18px}.cm-settings-heading .button{padding:8px;min-width:36px}.cm-settings-dialog .cm-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cm-settings-dialog .cm-toolbar{gap:12px}.cm-settings-dialog .cm-toolbar .toggle-row{margin-left:0;width:100%;justify-content:space-between}.cm-settings-dialog .cm-controls{margin:0;padding:0}.cm-settings-dialog .cm-legend{margin:20px 0 0;gap:10px;line-height:1.6}.cm-settings-actions{display:flex;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid #dce4d8}
html[data-theme="dark"]:root body .cm-settings-dialog{background:#222c32;color:#e0e7ea;border-color:#435159;box-shadow:0 20px 70px #0008}html[data-theme="dark"] .cm-settings-actions{border-color:#435159}
@media(max-width:700px){.cm-expanded-context{display:none}.cm-map-tools{gap:6px}.cm-settings-trigger{margin-left:auto}html:root body .cm-viewport{height:calc(100dvh - 190px);min-height:320px}}
@media(max-width:520px){html:root body .cm-settings-dialog{padding:18px}.cm-settings-dialog .cm-control-grid{grid-template-columns:minmax(0,1fr)}.cm-settings-trigger{width:100%;justify-content:center}}
body .cm-page-heading{min-height:48px}
html:root body .cm-viewport{height:calc(100dvh - 146px)}
.cm-map-tools [data-map-expand]{padding:7px;min-width:32px}
@media(max-width:700px){html:root body .cm-viewport{height:calc(100dvh - 166px)}}
