/* Regularizai — identidade oficial. Fonte única dos tokens de cor.
   O build distribui estes tokens para o site, painel, portais e acesso.
   Ouro é destaque/fundo: para texto de atenção, usar --central-warning-text. */
:root {
  --regularizai-orange: #FE6804;
  --regularizai-blue: #01326E;
  --regularizai-base: #FAFAFA;
  --regularizai-on-orange: #FFFFFF;
  --regularizai-action: #C64F00;
  --regularizai-action-hover: #AC4200;
  --central-blue: #01326E;
  --central-green: #FE6804;
  --central-gold: #FE6804;
  --central-offwhite: #FAFAFA;
  --central-graphite: #242629;
  --white: #FFFFFF;
  --success: #16734A;
  --info: var(--central-blue);
  --warning: #A35B00;
  --danger: #C53A3A;
  --central-blue-dark: #0D2E50;
  --central-blue-hover: #1E507F;
  --central-green-hover: #EB5C00;
  --central-muted: #586168;
  --central-line: #DADDDC;
  --central-border: #85929C;
  --central-blue-soft: #EAF0F6;
  --central-blue-border: #BBCDDF;
  --central-on-blue-muted: #D7E3EE;
  --central-on-blue-border: #7697B6;
  --central-success-soft: #EAF4EE;
  --central-success-border: #B8D7C5;
  --central-warning-soft: #FFF5D8;
  --central-warning-text: #72530B;
  --central-warning-border: #D7B758;
  --central-danger-soft: #FBECEC;
  --central-danger-border: #DEA5A5;
  --central-neutral-soft: #EEF0F1;
  --central-shadow: #01326E18;
  --central-overlay: #01326E80;
  color-scheme: light;
}

/* Central locator: a public geographic view, independent of private operations. */
.network .section-network{background:var(--central-offwhite,#FAFAFA)}
.network .locator-heading{align-items:center;gap:48px;margin-bottom:30px}
.network .locator-heading h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-.035em;line-height:1.08;max-width:700px}
.network .locator-heading>div>p:not(.eyebrow){max-width:650px;color:#535e65;font-size:17px;line-height:1.6}
.network .locator-heading .network-counters{border-color:#d9deda;gap:24px;flex-shrink:0}
.network .locator-heading .network-counters strong{color:#01326E;font-size:38px}
.network .locator-heading .network-counters span{font-size:14px;max-width:145px;color:#535e65;line-height:1.45}
.network .locator{color:#242629;background:transparent;min-width:0}
.network .locator button,.network .locator input,.network .locator select{font:inherit;font-size:16px}
.network .locator button{cursor:pointer}
.network .locator [hidden]{display:none!important}
.network .locator :is(a,button,input,select):focus-visible{outline:3px solid #01326E;outline-offset:4px}
.network .locator-search{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:16px;background:#fff;border:1px solid #dfe4e4;border-radius:16px;margin:0 0 16px;box-shadow:0 5px 20px #01326E05}
.network .locator-query{display:flex;align-items:center;gap:12px;flex:1;min-width:220px;padding:0 4px}
.network .locator-query>svg{width:22px;height:22px;fill:none;stroke:#01326E;stroke-width:1.8;flex-shrink:0}
.network .locator .locator-query input{margin:0;background:#fff;box-shadow:none;border:0;padding:12px 0;width:100%;color:#242629;min-width:0}
.network .locator-query input::placeholder{color:#646e75;opacity:1}
.network .locator-search-button,.network .locator-filter-button,.network .locator-location,.network .locator-filters>button{border:1px solid #d8e0e4;padding:11px 18px;border-radius:9px;color:#01326E;background:white;min-height:46px;font-weight:600}
.network .locator .locator-search-button{background:#16734A;border-color:#16734A;color:#fff}
.network .locator-search-button:hover{background:#105d3b}
.network .locator-filter-button[aria-expanded=true],.network .locator-filter-button:hover,.network .locator-location:hover{background:#f1f5f7}
.network .locator-location{border-color:transparent;border-left:1px solid #d8e0e4;border-radius:0;padding-left:24px;display:flex;align-items:center;gap:8px}
.network .locator-filters{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:16px;align-items:end;flex-basis:100%;padding:18px 4px 4px;border-top:1px solid #e6e9ea}
.network .locator-filters label{display:grid;gap:6px;font-size:14px;font-weight:600;color:#01326E;min-width:0}
.network .locator-filters select{background:#fff;color:#242629;border:1px solid #ccd5db;padding:10px;border-radius:8px;width:100%;min-width:0}
.network .locator-map-shell{position:relative;isolation:isolate;overflow:hidden;border-radius:20px;border:1px solid #d3dcdd;background:#e9eee9}
.network .locator-map{height:560px;background:#e9eee9;z-index:0;font-family:inherit}
.network .locator-map .leaflet-tile{max-width:none!important;max-height:none!important;filter:saturate(.55)}
.network .locator-map .leaflet-control-attribution{font-size:14px;line-height:1.55;background:#fffffff5;color:#3e4c54;padding:3px 8px}
.network .locator-map .leaflet-control-attribution a{font-size:14px;color:#01326E}
.network .locator-map .leaflet-bottom{z-index:600}
.network .locator-map-top{position:absolute;inset:20px 20px auto;display:flex;justify-content:space-between;gap:12px;pointer-events:none;z-index:610}
.network .locator-map-caption,.network .locator-view-buttons{background:#fff;box-shadow:0 4px 20px #01326E14;border:1px solid #dfe6e6;border-radius:10px;pointer-events:auto}
.network .locator-map-caption{display:flex;align-items:center;gap:8px;padding:8px 14px;font-weight:600;font-size:14px;color:#01326E}
.network .central-map-symbol{display:block;width:38px;height:34px;overflow:hidden;flex-shrink:0}
.network .locator-map-caption .central-map-symbol{width:28px;height:25px}
.network .locator-view-buttons{display:flex;overflow:hidden}
.network .locator-view-buttons button{border:0;background:#fff;color:#01326E;padding:10px 14px;min-height:44px;font-size:14px;font-weight:600}
.network .locator-view-buttons button+button{border-left:1px solid #e4e8eb}
.network .locator-view-buttons button:hover{background:#f1f5f7}
.network .locator-map-message{position:absolute;left:20px;right:90px;bottom:20px;max-width:510px;background:#fff;border:1px solid #dce3e5;box-shadow:0 4px 20px #01326E12;border-radius:10px;padding:12px 16px;margin:0;font-size:14px;z-index:610;color:#384a56}
.network .locator-zoom{position:absolute;right:20px;bottom:62px;z-index:610;display:grid;border:1px solid #d6dee2;background:#fff;border-radius:10px;box-shadow:0 4px 16px #01326E18;overflow:hidden}
.network .locator .locator-zoom button{font-size:25px;font-weight:400;line-height:1;border:0;background:#fff;color:#01326E;width:44px;height:44px}
.network .locator-zoom button+button{border-top:1px solid #e3e9ec}
.network .locator-zoom button:hover{background:#f1f5f7}
.network .central-map-marker{background:none;border:none}
.network .central-map-pin{position:relative;width:54px;height:54px;display:grid;place-items:center;border:2px solid #16734A;border-radius:50%;background:#fff;box-shadow:0 4px 14px #14364a38;transition:transform .15s ease,box-shadow .15s ease}
.network .central-map-pin:after{content:'';position:absolute;bottom:-6px;left:21px;width:9px;height:9px;background:white;border-right:2px solid #16734A;border-bottom:2px solid #16734A;transform:rotate(45deg)}
.network .central-map-pin.is-planned{border-color:#9d790e}
.network .central-map-pin.is-planned:after{border-color:#9d790e}
.network .central-map-pin.is-selected{box-shadow:0 0 0 6px #01326E28,0 6px 22px #01326E40;border-color:#01326E;transform:translateY(-3px)}
.network .central-map-pin.is-selected:after{border-color:#01326E}
.network .central-map-marker:hover .central-map-pin,.network .central-map-marker:focus .central-map-pin{transform:translateY(-3px);box-shadow:0 6px 20px #01326E40}
.network .central-map-pin .central-map-symbol{width:41px;height:37px}
.network .central-map-count{position:absolute;top:-6px;right:-7px;min-width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#01326E;color:#fff;border:2px solid #fff;font-size:14px;font-weight:700;padding:0 4px}
.network .locator-map .leaflet-tooltip{font-family:inherit;font-size:14px;font-weight:600;color:#01326E;white-space:normal;max-width:250px;padding:7px 11px;border:1px solid #dbe3e8;border-radius:8px;box-shadow:0 3px 12px #01326E18}
.network .locator-selection{position:absolute;left:20px;bottom:44px;z-index:620;background:#fff;border:1px solid #dce3e5;border-radius:16px;box-shadow:0 8px 32px #01326E24;width:320px;max-width:calc(100% - 90px);padding:22px}
.network .locator-selection h3{font-size:25px;line-height:1.2;color:#01326E;margin:12px 24px 6px 0;letter-spacing:-.025em}
.network .locator-selection p{font-size:15px;line-height:1.55;margin:9px 0;color:#4c5961}
.network .locator .locator-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:36px;height:36px;min-height:36px;font-size:24px;border:0;border-radius:50%;background:#f3f5f5;color:#01326E}
.network .locator-status{display:inline-flex;align-items:center;gap:7px;color:#58636a;font-size:14px!important;line-height:1.4}
.network .locator-status:before,.network .locator-legend i{content:'';width:7px;height:7px;border-radius:50%;background:#16734A;display:inline-block;flex-shrink:0}
.network .locator-status.is-planned:before,.network .locator-legend .is-planned{background:#E8B21A;box-shadow:0 0 0 1px #9d790e}
.network .locator-status.is-active{color:#16734A}
.network .locator-selection .locator-status{font-weight:600;margin:2px 24px 6px 0}
.network .locator-selection .locator-selection-name{font-size:14px;color:#62717a}
.network .locator-selection-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.network .locator-selection-actions a{font-size:14px;font-weight:600;padding:10px 13px;border-radius:8px;color:#fff;background:#16734A;text-decoration:none;min-height:42px;display:inline-flex;align-items:center}
.network .locator-selection-actions a+a{background:#eff3f6;color:#01326E}
.network .locator-selection-list{display:grid;gap:8px;max-height:230px;overflow:auto;margin-top:12px}
.network .locator-selection-list button{border:1px solid #dce3e5;border-radius:8px;background:#fff;color:#01326E;text-align:left;padding:12px;font-size:14px;line-height:1.4}
.network .locator-selection-list button:hover{background:#f1f5f7}
.network .locator-map-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 2px 4px}
.network .locator-map-footer p,.network .locator-help{font-size:14px;line-height:1.5;color:#5a666d;margin:0}
.network .locator-legend{display:flex;flex-wrap:wrap;gap:20px;flex-shrink:0}
.network .locator-legend span{display:flex;align-items:center;gap:8px;font-size:14px;color:#46545d}
.network .locator-help{margin:4px 2px 0}
.network .locator-results-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 0 18px}
.network .locator-results-heading h3{font-size:23px;letter-spacing:-.025em;margin:0;color:#01326E}
.network .locator-results-heading .network-result{font-size:14px;color:#5a666d;margin:0;line-height:1.5}
.network .locator-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.network .locator-card{border:1px solid #dce3e5;background:#fff;border-radius:13px;padding:20px;transition:box-shadow .2s,border-color .2s;min-width:0}
.network .locator-card:hover,.network .locator-card.is-selected{border-color:#9eafb9;box-shadow:0 7px 22px #01326E0c}
.network .locator-card-top{display:flex;gap:12px;align-items:center}
.network .locator-card-symbol{width:48px;height:48px;display:grid;place-items:center;background:#fff;border:1px solid #e7ebec;border-radius:11px;flex-shrink:0}
.network .locator-card h3{color:#01326E;font-size:20px;line-height:1.25;margin:0 0 5px;letter-spacing:-.02em}
.network .locator-card h3>span{font-size:14px;font-weight:400;letter-spacing:0;margin-left:3px;color:#65727b}
.network .locator-card .locator-status{margin:0}
.network .locator-card .locator-card-name{font-size:14px;line-height:1.5;color:#5a666d;margin:14px 0 16px}
.network .locator-card-actions{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #edf0f2;padding-top:13px;align-items:center;flex-wrap:wrap}
.network .locator-card-actions button,.network .locator-card-actions a{color:#01326E;font-size:14px;line-height:1.5;text-decoration:none;font-weight:600;border:0;background:none;padding:6px 0;text-align:left}
.network .locator-card-actions button:hover,.network .locator-card-actions a:hover{text-decoration:underline;text-underline-offset:4px}
.network .locator-more{display:block;border:1px solid #cad4dc;background:#fff;color:#01326E;border-radius:9px;padding:12px 22px;min-height:46px;font-weight:600;margin:22px auto 0}
.network .locator-empty{padding:24px;border:1px solid #dce3e5;background:#fff;border-radius:12px;grid-column:1/-1;font-size:16px;line-height:1.65;color:#4c5961}
.network .locator-empty a{color:#01326E;text-decoration:underline}
@media(min-width:1500px){.network .locator-map{height:620px}}
@media(max-width:1000px){.network .locator-heading{gap:24px}.network .locator-results{grid-template-columns:repeat(2,minmax(0,1fr))}.network .locator-filters{grid-template-columns:1fr 1fr}.network .locator-map-footer{align-items:start;flex-direction:column;gap:10px}.network .locator-location{padding-left:12px}.network .locator-map{height:520px}}
@media(max-width:650px){.network .locator-heading{display:block}.network .locator-heading .network-counters{margin-top:24px;padding:0;border:0;justify-content:start;gap:28px}.network .locator-heading .network-counters strong{font-size:30px}.network .locator-heading>div>p:not(.eyebrow){font-size:16px}.network .locator-search{padding:12px;gap:9px}.network .locator-query{flex-basis:calc(100% - 89px);min-width:0;gap:8px}.network .locator-query>svg{width:18px}.network .locator .locator-query input{font-size:16px;min-width:0}.network .locator-search-button{padding:11px 13px}.network .locator-filter-button,.network .locator-location{font-size:14px;padding:9px 13px;min-height:42px;flex:1;border:1px solid #d8e0e4;border-radius:8px;justify-content:center}.network .locator-filters{grid-template-columns:1fr;gap:12px;padding-top:14px}.network .locator-map-shell{border-radius:14px}.network .locator-map{height:460px}.network .locator-map-top{inset:12px 12px auto;gap:8px}.network .locator-map-caption{padding:7px 10px}.network .locator-map-caption .central-map-symbol{display:none}.network .locator-view-buttons button{padding:8px 10px}.network .locator-zoom{right:12px;bottom:74px}.network .locator-map-message{left:12px;right:68px;bottom:54px;padding:10px 12px}.network .locator-selection{position:relative;left:auto;bottom:auto;width:auto;max-width:none;border:0;border-top:1px solid #dce3e5;border-radius:0;box-shadow:none;padding:20px}.network .locator-selection h3{font-size:25px}.network .locator-map-footer{padding-top:14px;gap:10px}.network .locator-legend{gap:18px}.network .locator-help{margin-top:7px}.network .locator-results-heading{align-items:start;flex-direction:column;gap:8px;margin-top:28px}.network .locator-results-heading h3{font-size:22px}.network .locator-results{grid-template-columns:1fr;gap:12px}.network .locator-card{padding:18px}.network .locator .leaflet-control-attribution{max-width:280px;line-height:1.3}.network .locator-selection-list{max-height:200px}}
@media(prefers-reduced-motion:reduce){.network .locator *{transition:none!important;scroll-behavior:auto!important}}

.network .locator-selection{max-height:calc(100% - 120px);overflow:auto}
@media(max-width:650px){.network .locator-selection{max-height:none;overflow:visible}.network .locator-zoom{top:298px;bottom:auto}.network .locator-map-message{top:320px;bottom:auto}}

.network img.central-map-symbol{object-fit:contain}
