/* MSW B18 scoped feature system. No external font/tiles/tracking. */
.b18-root,.b18-widget,.b18-map-shell,.b18-catalogue-wrap{--b18-bg:#0b1628;--b18-soft:#122338;--b18-line:#294056;--b18-blue:#67b6ff;--b18-text:#eef8ff;--b18-muted:#bad0e3;color:var(--b18-text);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.b18-root,.b18-container{max-width:1180px;margin:auto;padding:18px}
.b18-hero{background:linear-gradient(115deg,#09182d 10%,#143b5f 85%);padding:40px 0;border-bottom:1px solid #29455e}
.b18-hero .b18-container{max-width:1160px;padding:18px}.b18-hero h1,.b18-hero h2{color:#fff!important;font-weight:800;line-height:1.12;margin:0 0 16px;font-size:clamp(27px,4vw,46px)}
.b18-hero p{color:#d6e7f6;max-width:860px;line-height:1.65}
.b18-hero a.b18-primary{display:inline-flex;text-decoration:none;color:#061a2e;background:#72c6ff;padding:12px 18px;border-radius:12px;font-weight:800}
.b18-section{background:#0c192d;border-top:1px solid #203751;padding:24px 0}
.b18-section:nth-of-type(even){background:#10233b}
.b18-section h2{color:#f6fbff;font-size:clamp(23px,3vw,32px);margin:0 0 12px}
.b18-section>p,.b18-section .b18-container>p{color:#bfcfe0}
.b18-eyebrow{font-size:12px!important;letter-spacing:.09em;text-transform:uppercase;font-weight:750;color:#7bcbff;display:block}
.b18-widget{border:1px solid #2d4863;border-radius:16px;background:#0b1a2e;box-shadow:0 12px 32px #0002;overflow:hidden;margin:24px 0;max-width:100%}
.b18-widget-head{padding:21px 22px;border-bottom:1px solid #233d56;background:linear-gradient(120deg,#152e49,#0e1e32)}
.b18-widget-head h3{color:#fbfeff;font-size:clamp(21px,2.5vw,29px);margin:7px 0 8px;line-height:1.2}
.b18-widget-head p{color:#cfe2f1;line-height:1.6;margin:0}
.b18-panel{padding:24px;max-width:100%}
.b18-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.b18-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:#e9f6fd;font-weight:650;font-size:14px}
.b18-field>small{font-size:12px;font-weight:450;color:#a9c9e2}
.b18-field input,.b18-field select,.b18-geo-tool input,.b18-geo-tool textarea,.b18-geo-tool select,.b18-map-toolbar input,.b18-map-toolbar select,.b18-filter input,.b18-filter select,.b18-result textarea{color:#fff!important;background:#091525!important;border:1px solid #3c5c74!important;border-radius:9px;padding:10px 12px;min-height:43px;font-size:16px;width:100%;max-width:100%;box-sizing:border-box}
.b18-field select option,.b18-map-toolbar select option,.b18-filter select option{background:#091525;color:#fff}
.b18-primary,.b18-geo-tool button,.b18-actions button,.b18-map-zoom button,.b18-city-button{background:#56b5f5!important;color:#061728!important;font-size:15px;border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer;box-shadow:none}
.b18-primary{margin:18px 0 4px}
.b18-alert{color:#ffbfae!important;font-weight:700;min-height:24px}
.b18-result{background:#12263d;border:1px solid #426d8d;border-radius:12px;padding:18px;margin-top:20px}
.b18-result[hidden]{display:none!important}.b18-result h4{color:#fff;margin:0 0 12px;font-size:20px}
.b18-result-rows{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px}
.b18-result-rows li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #304a63;padding:8px 0;color:#e4f0f8;font-size:14px}
.b18-result-rows strong{color:#7bd9fa;text-align:right;max-width:60%;overflow-wrap:anywhere}
.b18-result-note,.b18-disclaimer,.b18-warning{font-size:13px;color:#d1e4f0!important;line-height:1.55}
.b18-disclaimer{padding:0 24px 22px;margin:0}
.b18-result label{display:block;font-size:13px;color:#d5eefa;font-weight:650}
.b18-result textarea{display:block;margin:7px 0 13px;height:auto;font-weight:450;resize:vertical}
.b18-actions{display:flex;flex-wrap:wrap;gap:9px}.b18-actions button{font-size:13px;padding:9px 12px;background:#22476b!important;color:#fff!important;border:1px solid #537895}
.b18-tick{display:flex;gap:10px;align-items:flex-start;color:#e4f4ff;line-height:1.45;margin:9px 0;font-size:14px}
.b18-tick input{width:18px;height:18px;flex-shrink:0;accent-color:#3aa8f4;margin:2px}
.b18-checklist fieldset{border:0;margin:0;padding:0}.b18-checklist legend{font-size:17px;font-weight:750;color:#fff}
.b18-progress{color:#85e4cb!important}
.b18-map-shell{background:#10243a;border:1px solid #365570;border-radius:16px;padding:17px;margin:14px 0;color:#fff}
.b18-map-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:14px}
.b18-map-toolbar label,.b18-geo-tool label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650;color:#d4eaf8;flex:1 1 190px}
.b18-map-zoom{display:flex;gap:5px}.b18-map-zoom button{padding:8px 13px;font-size:20px}
.b18-map-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:16px}
.b18-map-visual{position:relative;min-width:0}.b18-map-visual svg{height:auto;width:100%;border-radius:14px;display:block;box-shadow:0 7px 22px #0005}
.b18-map-note{display:block;margin-top:6px;color:#adcde3;font-size:12px}
.b18-map-list{background:#0a1b2f;border:1px solid #2b4863;border-radius:12px;padding:13px;min-width:0}
.b18-map-list>p{color:#d1e7fb;margin:4px 0 10px;font-weight:700}.b18-map-list [data-map-list]{display:flex;gap:6px;flex-wrap:wrap;max-height:225px;overflow:auto}
.b18-city-button{background:#234968!important;color:#e7f8ff!important;font-size:12px;font-weight:650;padding:7px 10px}.b18-city-button.active{outline:2px solid #8befcb}
.b18-selected{border-top:1px solid #36526c;padding-top:12px;margin-top:13px}.b18-selected p{color:#d4eaf7;font-size:13px}.b18-selected a{color:#85d6ff!important;text-decoration:underline}
.b18-geo-tool{display:flex;flex-direction:column;align-items:stretch;gap:15px}.b18-geo-tool>button{align-self:start}.b18-geo-output{padding:12px;background:#17314d;color:#d5e9f8!important;border-radius:9px}
.b18-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.b18-filter{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.b18-filter label{flex:1 1 230px;display:flex;flex-direction:column;gap:5px;color:#d5e8f8;font-size:14px}
.b18-total{font-weight:700;color:#92deff;margin:10px 0}.b18-catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.b18-catalogue-card{display:flex;flex-direction:column;text-decoration:none!important;gap:9px;background:linear-gradient(150deg,#163452,#112138);border:1px solid #34526c;border-radius:13px;padding:17px;min-height:130px;color:#e8f6ff!important}
.b18-catalogue-card:hover{border-color:#68c7ff;transform:translateY(-1px)}.b18-catalogue-card span{color:#80d5ff;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.b18-catalogue-card strong{font-size:16px;color:#fff}.b18-catalogue-card small{font-size:13px;line-height:1.4;color:#a9c3d9}
.b18-context{padding:18px;margin:25px 0;border-radius:15px;background:#09172a;border:1px solid #2e4c68}
.b18-context>h2{font-size:24px;color:#fff}.b18-context>p{color:#d0e5f3;line-height:1.55}
.b18-context .b18-widget{margin:14px 0 5px}.b18-context .b18-widget-head h3{font-size:23px}
.b18-context .b18-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.b18-links{display:flex;flex-wrap:wrap;gap:14px;padding-top:12px}.b18-links a{color:#7fc8ff!important}
.b18-stats{display:flex;flex-wrap:wrap;gap:12px}.b18-stats div{background:#14334e;padding:12px 20px;border-radius:12px}.b18-stats strong{color:#fff;font-size:25px;display:block}.b18-stats span{color:#cee8f7;font-size:13px}
.b18-root :focus-visible,.b18-widget :focus-visible,.b18-map-shell :focus-visible{outline:3px solid #ffee8a!important;outline-offset:3px}
@media(max-width:860px){.b18-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.b18-map-grid{grid-template-columns:minmax(0,1fr)}.b18-map-list [data-map-list]{max-height:150px}}
@media(max-width:620px){.b18-fields,.b18-check-grid,.b18-catalogue,.b18-context .b18-fields{grid-template-columns:minmax(0,1fr)}.b18-panel{padding:16px}.b18-widget-head{padding:16px}.b18-disclaimer{padding:0 16px 15px}.b18-map-shell{padding:12px}.b18-result-rows li{display:block}.b18-result-rows strong{display:block;max-width:100%;text-align:left;margin-top:5px}.b18-root,.b18-container{padding:12px}.b18-hero{padding:22px 0}}
@media(prefers-reduced-motion:reduce){.b18-catalogue-card{transform:none!important}}
.b18-map-note a{color:#96dbff!important;text-decoration:underline}
