/* DeepRoute M1 – exclusively namespaced CSS. Existing Leaflet/tiles untouched. */
#drawer-right { width:min(416px,94vw); background:#081c29; color:#eaf5fa; border-left:1px solid #274451; }
#drawer-right .drawer-header{background:#071927;padding:16px 18px;border-bottom:1px solid #1b3a47;}
#drawer-right .brand-title{font-size:16px;color:#f2fafc;}
#drawer-right .brand-subtitle{color:#89aebb;}
#drawer-right .drawer-body{padding:13px;}
#drawer-left .dr-left-info{border:1px solid #315164;border-radius:10px;overflow:hidden;margin:4px 0 18px;background:#0b2533;}
#drawer-left .dr-left-info > summary{padding:13px;color:#c8e5e5;cursor:pointer;font-weight:700;font-size:13px;}
#drawer-left .dr-left-info-body{padding:10px;}
#drawer-left .dr-left-info-body .panel-block{margin-bottom:10px;}
.dr-ui-root{font-family:inherit;color:#eff6f8;font-size:13px;}
.dr-ui-root *, .dr-ui-root *::before,.dr-ui-root *::after{box-sizing:border-box;}
.dr-ui-root button{font-family:inherit;cursor:pointer;}
.dr-ui-root button:focus-visible,.dr-ui-root input:focus-visible,.dr-ui-root select:focus-visible,.dr-left-info summary:focus-visible{outline:2px solid #7fd8bd;outline-offset:2px;}
.dr-search-area{position:relative;margin-bottom:16px;}
.dr-search-field{display:flex;align-items:center;gap:8px;background:#183645;border:1px solid #204657;border-radius:7px;height:45px;padding:0 12px;}
.dr-search-icon{font-size:22px;color:#91d8bc;line-height:1;}
.dr-search-input{width:100%;height:100%;background:transparent;border:none;outline:none;color:#f0f9fb;font-size:13px;}
.dr-search-input::placeholder{color:#bfd0dd;opacity:1;}
.dr-search-results{margin-top:5px;padding:6px;background:#122f3e;border:1px solid #325362;border-radius:8px;max-height:240px;overflow-y:auto;}
.dr-search-results[hidden],.dr-selected[hidden]{display:none!important;}
.dr-search-result{display:flex;gap:5px;align-items:center;border-bottom:1px solid #345263;padding:4px;}
.dr-search-result:last-child{border-bottom:0;}
.dr-search-results p{margin:4px;color:#aac3d0;}
.dr-search-link{flex:1;text-align:left;color:#eff9f9;background:transparent;border:0;padding:7px;}
.dr-search-mini{border:1px solid #416879;background:#254959;border-radius:5px;color:#d6e6eb;padding:6px 7px;font-size:11px;}
.dr-section-caption{font-size:11px;letter-spacing:.025em;color:#bcd5dd;margin:5px 0 9px;text-transform:uppercase;}
.dr-layer-list{display:grid;grid-template-columns:1fr;gap:9px;}
.dr-layer-button{width:100%;min-height:51px;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #2a4c5f;background:#102c3c;color:#eaf5f8;border-radius:7px;padding:10px 13px;transition:background .15s,border-color .15s;}
.dr-layer-button.dr-on{background:#1a3b4b;border-color:#345c6d;}
.dr-layer-button:hover{background:#25485b;}
.dr-layer-icon{font-size:20px;width:21px;line-height:1;text-align:center;}
.dr-layer-label{font-size:14px;flex:1;font-weight:650;}
.dr-layer-state{font-size:16px;color:#79d9bd;}
.dr-layer-button:not(.dr-on) .dr-layer-state{color:#728996;}
.dr-substatus{color:#a7c7d3;font-size:11px;margin:11px 2px 12px;}
.dr-card{background:#0e2a39;border:1px solid #193c4b;border-radius:9px;padding:15px;margin-bottom:12px;color:#deedf2;}
.dr-card h3{font-size:15px;color:#dbf6ff;font-weight:700;margin:0 0 15px;}
.dr-route-location{display:flex;align-items:center;gap:10px;min-height:33px;}
.dr-route-dot,.dr-route-flag{font-size:20px;color:#8ddfb6;}
.dr-route-flag{color:#ebd37c;}
.dr-route-text{line-height:1.5;}.dr-route-text b{font-weight:600;}
.dr-route-divider{border:0;border-top:1px solid #2e5060;margin:8px 0 10px;}
.dr-action{border:1px solid #36816f;background:#1a6454;color:#eafbfa;border-radius:7px;min-height:34px;padding:8px 12px;font-size:12px;font-weight:600;}
.dr-action:disabled{opacity:.45;cursor:not-allowed;}
.dr-muted-button{border-color:#315769;background:#1a3646;color:#dbeaf0;}
.dr-route-output{font-size:11px;color:#b6d2e0;margin-top:8px;line-height:1.5;}
.dr-route-output ol{padding-left:20px;}
.dr-selected{background:#173c49;border-color:#3a6776;}
.dr-selected-top{display:flex;align-items:center;justify-content:space-between;}
.dr-selected-top h3{margin:0;}
.dr-selected-top button{border:0;background:transparent;color:#d1eff0;font-size:22px;}
.dr-selected p{margin:8px 0;color:#bfd7dc;}
.dr-editor>summary{font-weight:650;color:#a9e6d5;cursor:pointer;font-size:13px;}
.dr-editor-body{padding-top:14px;display:flex;flex-direction:column;gap:12px;}
.dr-editor-body label{display:grid;gap:6px;font-size:12px;color:#bad8e4;}
.dr-form-input{min-height:36px;background:#1b3a4a;border:1px solid #416275;border-radius:6px;padding:8px;color:#fff;font:inherit;}
.dr-tool-row{display:flex;flex-wrap:wrap;gap:7px;}
.dr-editor-hint{margin:0;color:#afcbd4;font-size:11px;line-height:1.5;}
.dr-export{align-self:flex-start;}
.dr-running{outline:2px solid #7fd8bd;}
.dr-level-chip{background:#261b33;border:1px solid #caaff0;color:#e5c6ff;border-radius:7px;padding:2px 4px;text-align:center;font-size:11px;font-weight:700;pointer-events:none;white-space:nowrap;}
@media(max-width:800px){#drawer-right{width:min(390px,94vw);}#drawer-right .drawer-body{padding:11px;}.dr-layer-button{min-height:47px;}}

/* M2: external open-buttons must never cover an open drawer. */
body:has(#drawer-left.open) #toggle-left,
body:has(#drawer-right.open) #toggle-right {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* M2: capture, catalog and validation controls; scoped to DeepRoute extension. */
.dr-catalog>summary{font-size:13px;font-weight:700;color:#9ee5d2;cursor:pointer;}
.dr-catalog-content{padding-top:12px;display:grid;gap:10px;}
.dr-catalog-group{border:1px solid #2a5062;border-radius:8px;overflow:hidden;}
.dr-catalog-group>h4{margin:0;padding:9px 11px;background:#173949;color:#c6e8f1;font-size:12px;}
.dr-catalog-row{padding:8px 9px;display:flex;align-items:center;gap:5px;border-top:1px solid #254655;}
.dr-catalog-name{flex:1;min-width:0;text-align:left;border:0;background:transparent;color:#e9f6f8;font-size:12px;overflow-wrap:anywhere;padding:4px;}
.dr-catalog-button{border:1px solid #31586a;border-radius:5px;background:#1e4050;color:#def4f4;font-size:11px;padding:5px 7px;}
.dr-catalog-button:hover{background:#2d5869;}
.dr-catalog-delete{border-color:#92565e;color:#ffc9c9;}
.dr-catalog-empty{color:#a5bfcb;font-size:12px;padding:9px;}
.dr-catalog-counter{font-size:11px;color:#9dbbc8;margin:0;}
.dr-form-duo{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.dr-form-duo input{min-width:0;width:100%;}
.dr-editor-body textarea{resize:vertical;min-height:64px;width:100%;}
.dr-editor-body .dr-checkpoint{border:1px solid #3b5963;border-radius:8px;padding:9px;color:#bad9e1;font-size:11px;line-height:1.5;}
.dr-editor-body .dr-checkpoint strong{color:#e9f7fc;}
.dr-editor-body .dr-editor-warning{border-left:3px solid #e9bd79;padding-left:9px;}
.dr-import{max-width:100%;font-size:11px;color:#bce1e8;}
.dr-editor-body .dr-tool-row{align-items:center;}
.dr-action.dr-danger{border-color:#8f505a;background:#512733;color:#ffced2;}
