.landing.ed{--blue: #1769E8;--blue-d: #1257C4;--ink: #111827;--ink-2: #344054;--grey: #667085;--mute: #A0A8B5;--line: #E5E7EB;--tint: #F4F6F9;--night: #0A1120;--ok: #16A66A;--warn: #E59A17;--crit: #E5484D;--off: #98A2B3;--m: clamp(20px, 2.6vw, 40px);--display: "Inter Tight", "Inter", -apple-system, sans-serif;--ease: cubic-bezier(.2, .7, .1, 1);background:#fff;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}.ed h1,.ed h2,.ed h3,.ed p,.ed figure,.ed ul{margin:0}.ed ul{padding:0;list-style:none}.ed a{color:inherit;text-decoration:none}.ed img{display:block;max-width:100%}.ed-wrap{max-width:1600px;margin:0 auto;padding:0 var(--m);width:100%;box-sizing:border-box}.ed-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}@media (max-width: 900px){.ed-grid>*{grid-column:1 / -1!important}}.ed-sec{padding:clamp(96px,12vw,176px) 0;position:relative}.ed-tint{background:var(--tint)}.ed-center{text-align:center;display:flex;flex-direction:column;align-items:center}.ed-label{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:28px!important;display:flex;align-items:center;gap:8px}.ed-label b{color:var(--blue);font-weight:600}.ed-label i{width:8px;height:8px;background:var(--blue);border-radius:2px}.ed-label.light,.ed-dark .ed-label{color:#ffffffb8}.ed-dark .ed-label b{color:#6fa3ff}.ed-mini{font-size:.75rem;font-weight:500;letter-spacing:.02em;color:var(--grey)}.ed-hero-h,.ed-h1,.ed-h2,.ed-giant{font-family:var(--display);font-weight:500;color:var(--ink);text-wrap:balance}.ed-hero-h{font-size:clamp(3.25rem,7.4vw,7.6rem);line-height:.94;letter-spacing:-.048em}.ed-h1{font-size:clamp(2.5rem,5vw,4.75rem);line-height:1.04;letter-spacing:-.032em}.ed-h2{font-size:clamp(2.125rem,4vw,3.75rem);line-height:1.06;letter-spacing:-.03em}.ed-giant{font-size:clamp(3rem,7vw,7.5rem);line-height:.98;letter-spacing:-.04em;color:#fff}.muted{color:var(--mute)}.ed-dark .muted{color:#fff6}.ed-final .muted{color:#ffffff8c}.ed-aside{margin-top:40px!important;font-size:1.0625rem;line-height:1.6;color:var(--grey);max-width:40ch;align-self:end}@media (min-width: 1200px){.br-lg{display:block;content:""}}@media (max-width: 1199px){.br-lg{display:none}}.ed-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ed-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:10px;border:1px solid transparent;font:600 .9375rem/1 Inter,sans-serif;letter-spacing:-.005em;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.ed-btn.sm{height:38px;padding:0 16px;font-size:.875rem;border-radius:8px}.ed-btn-blue{background:var(--blue);color:#fff}.ed-btn-dark{background:var(--ink);color:#fff}.ed-btn-dark:hover{background:#000}.ed-btn-line{background:#fff;color:var(--ink);border-color:var(--line)}.ed-btn-line:hover{border-color:#c9ced6;background:#fafafb}.ed-btn-blue:hover{background:var(--blue-d)}.ed-btn-white{background:#fff;color:var(--blue)}.ed-btn-white:hover{background:#eaf2ff}.ed-btn-ghost{background:transparent;color:#fff;border-color:#ffffff80}.ed-btn-ghost:hover{background:#ffffff1a}.ed-btn svg{transition:transform .2s var(--ease)}.ed-btn:hover svg{transform:translate(2px,-2px)}.ed-link-btn{background:none;border:0;padding:8px 10px;font:500 .875rem Inter,sans-serif;color:var(--ink-2);cursor:pointer}.ed-link-btn:hover{color:var(--ink)}.ed :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}.ed-nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:background .2s ease,box-shadow .2s ease}.ed-nav.scrolled{background:#ffffffeb;-webkit-backdrop-filter:saturate(160%) blur(12px);backdrop-filter:saturate(160%) blur(12px)}.ed-nav-in{height:68px;display:flex;align-items:center;gap:24px}.ed-brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:1.0625rem;letter-spacing:-.02em;color:var(--ink)}.ed-brand svg{color:var(--blue)}.ed-brand b{font-weight:600;color:var(--blue)}.ed-brand.light,.ed-brand.light b,.ed-brand.light svg{color:#fff}.ed-nav nav{display:flex;gap:6px;margin:0 auto}.ed-nav nav a{padding:8px 12px;font-size:.875rem;font-weight:500;color:var(--ink-2);border-radius:8px}.ed-nav nav a:hover{color:var(--ink);background:#1118270d}.ed-nav-cta{display:flex;align-items:center;gap:6px}@media (max-width: 900px){.ed-nav nav,.ed-link-btn{display:none}.ed-nav-cta{margin-left:auto}}.ed-hero{padding-top:clamp(56px,7vw,104px)}.ed-hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center}.ed-eyebrow{font-size:.875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:24px!important}.ed .ed-hero-h{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;line-height:1.08;letter-spacing:-.025em;max-width:18ch}.ed-hero-sub{margin-top:24px!important;font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.6;color:var(--ink-2);max-width:56ch}.ed-hero-ctas{margin-top:36px;justify-content:center}.ed-hero-frame{position:relative;margin-top:clamp(48px,6vw,72px);border-radius:16px;overflow:hidden;height:clamp(360px,46vw,680px);background:#c9c2b4}.ed-hero-bg{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;width:calc(100% + 80px);height:calc(100% + 80px);max-width:none;object-fit:cover;filter:blur(18px) saturate(.8) brightness(1.05)}.ed-hero-shot{position:absolute;left:8%;right:8%;top:7%;border-radius:12px 12px 0 0;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #11182714,0 30px 80px -20px #11182773}.ed-hero-shot img{width:100%;height:auto}@media (max-width: 700px){.ed-hero-shot{left:5%;right:5%;top:8%}.ed-hero-frame{height:62vw}}.ed-flow{margin-top:clamp(64px,8vw,120px);overflow-x:auto;scrollbar-width:none}.ed-flow::-webkit-scrollbar{display:none}.ed-flow-row{position:relative;display:grid;grid-template-columns:.85fr 1.25fr 1.75fr 1.1fr .9fr;gap:clamp(16px,2vw,36px);min-width:1100px;max-width:1600px;margin:0 auto;padding:0 var(--m);box-sizing:border-box}.ed-flow-line{position:absolute;left:var(--m);right:var(--m);width:calc(100% - 2 * var(--m));top:318px;height:4px;overflow:visible}.ed-flow-line line{stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease)}.ed-flow.drawn .ed-flow-line line{stroke-dashoffset:0}.fl-stage{display:grid;grid-template-rows:300px 36px auto}.fl-top{display:flex;align-items:flex-end;min-width:0}.fl-img{width:100%;height:210px;object-fit:cover;border-radius:8px}.fl-img.tall{height:300px}.fl-img.small{height:150px;margin-top:20px}.fl-type{display:flex;align-items:baseline;gap:6px;font-family:var(--display)}.fl-type b{font-size:clamp(3.5rem,5.2vw,5.5rem);font-weight:600;letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums}.fl-type span{font-size:1.25rem;font-weight:500;color:var(--grey)}.fl-node{position:relative;display:flex;align-items:center}.fl-node i{width:14px;height:14px;border-radius:50%;background:#fff;border:2.5px solid var(--blue);position:relative;z-index:1;transform:scale(0);transition:transform .5s var(--ease)}.ed-flow.drawn .fl-node i{transform:scale(1)}.ed-flow.drawn .fl-stage:nth-child(3) .fl-node i{transition-delay:.45s}.ed-flow.drawn .fl-stage:nth-child(4) .fl-node i{transition-delay:.9s}.ed-flow.drawn .fl-stage:nth-child(5) .fl-node i{transition-delay:1.35s}.ed-flow.drawn .fl-stage:nth-child(6) .fl-node i{transition-delay:1.8s}.fl-meta{padding-top:6px}.fl-n{font-size:.75rem;font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums}.fl-meta h3{font-family:var(--display);font-size:1.5rem;font-weight:600;letter-spacing:-.03em;margin:4px 0 8px}.fl-meta p{font-size:.9375rem;color:var(--grey);line-height:1.5;max-width:30ch}.ed-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(190px,16vw,260px);gap:14px;margin-top:clamp(48px,6vw,80px)}.bx{border-radius:14px;background:#fff;border:1px solid var(--line);padding:22px;min-width:0;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.bx p{font-size:.875rem;color:var(--grey);line-height:1.5}.bx-big{font-family:var(--display);font-size:clamp(3rem,5.4vw,5.5rem);font-weight:600;letter-spacing:-.05em;line-height:.95;font-variant-numeric:tabular-nums}.bx-big small{font-size:.32em;letter-spacing:0;font-weight:500;margin-left:6px;color:var(--grey)}.bx-big.warn{color:var(--warn)}.bx-map{grid-column:1 / span 7;grid-row:1 / span 2;padding:0;border:0;background:#1d2a1d}.bx-map img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%;transform:scale(1.04);transition:transform 1.6s var(--ease)}.bx-map.in img{transform:scale(1)}.bx-map figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 22px;color:#fff;background:linear-gradient(0deg,rgb(10 17 32 / .75),transparent);display:flex;flex-direction:column;gap:4px}.bx-map figcaption .ed-mini{color:#ffffffbf}.bx-map figcaption b{font-family:var(--display);font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.bx-wq{grid-column:8 / span 3;grid-row:1 / span 2}.bx-spark{width:100%;height:70px;margin-top:10px}.bx-spark path{fill:none;stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke}.bx-spark .lim{stroke:var(--warn);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.bx-blue{grid-column:11 / span 2;grid-row:1;background:var(--blue);border-color:var(--blue);color:#fff}.bx-blue .ed-mini,.bx-blue p,.bx-navy .ed-mini,.bx-navy p{color:#ffffffbf}.bx-navy{grid-column:11 / span 2;grid-row:2;background:var(--night);border-color:var(--night);color:#fff}.bx-navy p{display:flex;align-items:center;gap:8px}.bx-navy .bx-big small{color:#fff9}.bx-navy .bx-big,.bx-blue .bx-big{font-size:clamp(2.5rem,3.8vw,4rem)}.bx-nrw{grid-column:1 / span 4;grid-row:3}.bx-nrw .good,.good{color:var(--ok);font-weight:600}.bx-bars{display:flex;align-items:flex-end;gap:4px;height:44px}.bx-bars span{flex:1;background:#c9daf8;border-radius:2px 2px 0 0;min-height:4px}.bx-bars span:last-child{background:var(--blue)}.bx-store{grid-column:5 / span 8;grid-row:3;padding:0;display:grid;grid-template-columns:.9fr 1.1fr}.bx-store>img{width:100%;height:100%;object-fit:cover;object-position:30% 40%}.bx-store-data{padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.bx-tanks{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;flex:1;min-height:0}.bx-tanks>div{position:relative;background:var(--tint);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:6px}.bx-tanks .lvl{position:absolute;left:0;right:0;bottom:0;background:#1769e82e;transition:height 1.4s var(--ease)}.bx-tanks .low .lvl{background:#e59a1747}.bx-tanks b{position:relative;font-size:.875rem;font-variant-numeric:tabular-nums}.bx-tanks .low b{color:#b4730a}.bx-tanks small{position:relative;font-size:.6875rem;color:var(--grey)}@media (max-width: 1100px){.ed-bento{grid-template-columns:repeat(6,minmax(0,1fr))}.bx-map{grid-column:1 / -1}.bx-wq{grid-column:1 / span 3}.bx-blue,.bx-navy{grid-column:4 / span 3}.bx-blue{grid-row:3}.bx-navy{grid-row:4}.bx-wq{grid-row:3 / span 2}.bx-nrw,.bx-store{grid-column:1 / -1;grid-row:auto}}@media (max-width: 640px){.ed-bento{grid-template-columns:1fr;grid-auto-rows:auto}.bx{grid-column:1 / -1!important;grid-row:auto!important;min-height:200px}.bx-map{min-height:300px}.bx-store{grid-template-columns:1fr}.bx-store>img{height:180px}}.ed-chart{position:relative;width:100%}.ed-chart svg{display:block;overflow:visible}.ed-chart .band{fill:#16a66a14}.ed-chart .thr{stroke-width:1;stroke-dasharray:5 5}.ed-chart .thr.warn{stroke:var(--warn)}.ed-chart .thr.crit{stroke:var(--crit);opacity:.7}.ed-chart .thr-l{font:500 11px Inter,sans-serif;fill:var(--grey)}.ed-chart .axis{font:500 11px Inter,sans-serif;fill:var(--grey);font-variant-numeric:tabular-nums}.ed-chart .line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s var(--ease)}.ed-chart .area{fill:var(--blue);opacity:0;transition:opacity 1s ease 1.2s}.ed-chart .run{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;opacity:0;transition:opacity .6s ease 1.5s}.ed-chart .run.warn{stroke:var(--warn)}.ed-chart .run.crit{stroke:var(--crit)}.ed-chart.drawn .line{stroke-dashoffset:0}.ed-chart.drawn .area{opacity:.06}.ed-chart.drawn .run{opacity:1}.ed-chart .ann{opacity:0;transition:opacity .6s ease}.ed-chart.drawn .ann{opacity:1}.ed-chart .ann line{stroke:var(--ink);stroke-width:1;stroke-dasharray:2 3}.ed-chart .ann circle{fill:#fff;stroke-width:2.5;stroke:var(--tone, var(--blue))}.ed-chart .ann-t{font:600 15px var(--display);fill:var(--ink);letter-spacing:-.01em}.ed-chart .ann-s{font:500 12px Inter,sans-serif;fill:var(--grey)}.ed-chart.dark .band{fill:#16a66a1f}.ed-chart.dark .line{stroke:#5b9bff}.ed-chart.dark .area{fill:#5b9bff}.ed-chart.dark.drawn .area{opacity:.1}.ed-chart.dark .axis,.ed-chart.dark .thr-l{fill:#ffffff73}.ed-dark{background:var(--night);color:#fff;overflow:hidden}.ed-dark .ed-h1{color:#fff}.ed-mon{margin-top:clamp(48px,6vw,96px);align-items:start}.ed-mon-nav{border-top:1px solid rgb(255 255 255 / .14)}.ed-mon-nav button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:4px;width:100%;padding:18px 0 18px 16px;border-bottom:1px solid rgb(255 255 255 / .14);position:relative}.ed-mon-nav button:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;background:transparent;transition:background .2s ease}.ed-mon-nav button b{font-family:var(--display);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:#ffffff80;transition:color .2s ease}.ed-mon-nav button span{font-size:.8125rem;color:#fff6}.ed-mon-nav button:hover b{color:#ffffffd9}.ed-mon-nav button.on b{color:#fff}.ed-mon-nav button.on:before{background:#5b9bff}.ed-mon-nav button:focus-visible{outline:2px solid #5B9BFF;outline-offset:2px}.ed-mon-main{min-width:0;padding-left:clamp(0px,2vw,32px)}.ed-mon-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.ed-mon-head .ed-mini{color:#ffffff8c}.ed-mon-now{font-family:var(--display);font-size:clamp(3rem,5.5vw,5.5rem);font-weight:600;letter-spacing:-.05em;line-height:1;margin-top:6px;font-variant-numeric:tabular-nums}.ed-mon-now small{font-size:.3em;letter-spacing:0;margin-left:8px;color:#ffffff8c;font-weight:500}.ed-mon-now.warn{color:#f5b547}.ed-mon-now.crit{color:#ff7a7e}.ed-params{display:flex;flex-wrap:wrap;gap:6px}.ed-params button{all:unset;cursor:pointer;padding:7px 12px;border-radius:999px;font-size:.8125rem;font-weight:500;color:#ffffffa6;border:1px solid rgb(255 255 255 / .18)}.ed-params button.on{background:#fff;color:var(--night);border-color:#fff}.ed-params button:focus-visible{outline:2px solid #5B9BFF;outline-offset:2px}.ed-bleed{margin-right:calc(-1 * var(--m) - max(0px,(100vw - 1600px) / 2))}.ed-sensors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid rgb(255 255 255 / .14);padding-top:28px}.ed-sensors>div b{display:block;font-family:var(--display);font-size:clamp(3rem,6vw,6rem);font-weight:600;letter-spacing:-.05em;line-height:1}.ed-sensors b.warn{color:#f5b547}.ed-sensors b.off{color:#98a2b3}.ed-sensors>div>span{color:#ffffff8c;font-size:.9375rem}.ed-sensors p{grid-column:1 / -1;max-width:56ch;color:#ffffffb3;line-height:1.6}.ed-story-meta{display:flex;flex-wrap:wrap;gap:6px 24px;margin:clamp(48px,6vw,88px) 0 12px;padding-top:16px;border-top:2px solid var(--ink);font-size:.8125rem;font-weight:500;color:var(--ink-2)}.ed-story-meta span+span:before{content:"·";margin-right:24px;color:var(--mute)}.ed-story-foot{margin-top:28px}.ed-story-foot p:first-child{font-size:1.0625rem;color:var(--grey);line-height:1.6}.ed-chart .ann.warn{--tone: var(--warn)}.ed-chart .ann.ok{--tone: var(--ok)}.ed-infra{position:relative;overflow:hidden;aspect-ratio:2 / 1;max-height:100vh;min-height:480px;background:#1a1410;color:#fff}.ed-infra-layer{position:absolute;top:0;right:0;bottom:0;left:0;transform:scale(1.12);will-change:transform}.ed-infra-layer img{width:100%;height:100%;object-fit:cover}.ed-infra-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#0a1120d1,#0a112040 42%,#0a11200d 70%);pointer-events:none}.ed-infra-text{position:absolute;left:0;right:0;bottom:clamp(32px,5vw,72px)}.ed-infra-text .ed-h1{color:#fff;max-width:13ch}.ed-infra-text .muted{color:#ffffff8c}.ed-pin{position:absolute;display:flex;align-items:center;gap:10px;transform:translate(-7px,-50%);z-index:1}.ed-pin.rv{transform:translate(-7px,-50%)}.ed-pin.l{flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}.ed-pin>i{width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:#1769e8e6;box-shadow:0 0 0 6px #ffffff2e;flex-shrink:0}.ed-pin>span{display:flex;flex-direction:column;padding:6px 10px;background:#0a11208c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;font-size:.6875rem;color:#ffffffbf;white-space:nowrap}.ed-pin b{font-size:.8125rem;color:#fff;font-weight:600}@media (max-width: 900px){.ed-infra{aspect-ratio:auto;min-height:560px}.ed-pin{display:none}}.ed-nrw-big{align-self:end;display:flex;flex-direction:column;gap:6px;padding-bottom:8px}.ed-nrw-big b{font-family:var(--display);font-size:clamp(5rem,11vw,11.5rem);font-weight:600;letter-spacing:-.06em;line-height:.85;font-variant-numeric:tabular-nums}.ed-nrw-big>span{font-size:.9375rem;color:var(--grey)}.ed-nrw-big>span.good{color:var(--ok)}.ed-nrw-body{margin-top:clamp(56px,7vw,104px);align-items:start;row-gap:40px}.ed-rank{border-top:2px solid var(--ink)}.ed-rank-row{display:grid;grid-template-columns:150px minmax(0,1fr) 64px 64px;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.ed-rank-row .nm{font-family:var(--display);font-size:1.125rem;font-weight:600;letter-spacing:-.02em}.ed-rank-row .tr{height:8px;background:var(--tint);border-radius:4px;overflow:hidden}.ed-rank-row .fill{display:block;height:100%;border-radius:4px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease);background:var(--tone, var(--blue))}.ed-rank.drawn .fill{transform:none}.ed-rank-row .v{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.ed-rank-row .d{font-size:.8125rem;text-align:right;font-variant-numeric:tabular-nums}.ed-rank-row .d.up{color:var(--crit)}.ed-rank-row .d.down{color:var(--ok)}.ed-note{margin-top:20px!important;font-size:.9375rem;color:var(--grey);max-width:52ch}.ed-nrw-map{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px #1018284d}.ed-nrw-map img{width:100%}@media (max-width: 640px){.ed-rank-row{grid-template-columns:110px minmax(0,1fr) 52px}.ed-rank-row .d{display:none}}.ed-explorer{padding-bottom:clamp(64px,8vw,120px)}.ed-explorer .ed-label{justify-content:center}.ed-tabs{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:40px;padding:4px;background:#fff;border:1px solid var(--line);border-radius:12px}.ed-tabs button{all:unset;cursor:pointer;padding:9px 16px;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--grey);transition:background .15s ease,color .15s ease}.ed-tabs button:hover{color:var(--ink)}.ed-tabs button.on{background:var(--ink);color:#fff}.ed-tabs button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.ed-tab-cap{margin-top:16px!important;color:var(--grey);font-size:.9375rem;min-height:1.5em}.ed-shot-wrap{max-width:1600px;margin:clamp(32px,4vw,56px) auto 0;padding:0 var(--m);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:32px}.ed-shot{position:relative;width:100%;aspect-ratio:1440 / 900;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#f7f8fa;box-shadow:0 50px 100px -40px #10182859}.ed-shot img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top left;opacity:0;transform:scale(1.01);transition:opacity .6s ease,transform .8s var(--ease)}.ed-shot img.on{opacity:1;transform:none}.ed-report{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(48px,6vw,88px);border-top:2px solid var(--ink)}.ed-report>div{padding:32px 28px 44px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.ed-report>div:not(:nth-child(3n+1)){border-left:1px solid var(--line)}.ed-report>div:nth-child(3n+1){padding-left:0}.ed-report b{font-family:var(--display);font-size:clamp(3.5rem,6.4vw,6.5rem);font-weight:600;letter-spacing:-.055em;line-height:.9;font-variant-numeric:tabular-nums}.ed-report b small{font-size:.32em;letter-spacing:0;margin-left:6px;color:var(--grey);font-weight:500}.ed-report>div>span{font-size:1rem;color:var(--grey);max-width:26ch}.ed-source{margin-top:20px!important}@media (max-width: 900px){.ed-report{grid-template-columns:1fr 1fr}.ed-report>div{border-left:0!important;padding-left:0!important}.ed-report>div:nth-child(2n){border-left:1px solid var(--line)!important;padding-left:20px!important}}.ed-final{background:var(--blue);color:#fff;min-height:92vh;display:flex;flex-direction:column;justify-content:space-between}.ed-final-in{padding-top:clamp(96px,12vw,180px);display:flex;flex-direction:column;gap:40px}.ed-final .ed-label{color:#fffc;margin-bottom:0!important}.ed-giant{max-width:14ch}.ed-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding-top:28px;padding-bottom:32px;margin-top:96px;border-top:1px solid rgb(255 255 255 / .25);font-size:.8125rem;color:#ffffffbf}.ed-foot nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-right:auto}.ed-foot nav a{color:#ffffffd9}.ed-foot nav a:hover{color:#fff;text-decoration:underline}.ed .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform 1s var(--ease)}.ed .rv.in{opacity:1;transform:none}.ed .ed-pin.rv{opacity:0;transform:translate(-7px,-50%) scale(.9)}.ed .ed-pin.l.rv{transform:translate(calc(-100% + 7px),-50%) scale(.9)}.ed .ed-pin.rv.in{opacity:1;transform:translate(-7px,-50%)}.ed .ed-pin.l.rv.in{transform:translate(calc(-100% + 7px),-50%)}@media (prefers-reduced-motion: reduce){.ed *,.ed *:before,.ed *:after{transition:none!important;animation:none!important}.ed .rv{opacity:1!important;transform:none!important}.ed-hero-h .ln>span{transform:none!important}.ed .ed-pin.rv{opacity:1!important}.ed-chart .line{stroke-dashoffset:0}.ed-chart .run,.ed-chart .ann{opacity:1}.ed-flow-line line{stroke-dashoffset:0}.fl-node i,.ed-rank-row .fill{transform:none}}@media (max-width: 900px){.ed-hero-side{margin-top:24px}.ed-mon-main{padding-left:0;margin-top:32px}.ed-flow-row{min-width:1000px}}.dx{display:flex;flex-direction:column;gap:16px;font-size:.8125rem;color:hsl(var(--foreground))}.dx *{box-sizing:border-box}.dx h1,.dx h2,.dx h3,.dx h4,.dx p{margin:0}.dx-num,.dx-table td.num{font-variant-numeric:tabular-nums}.dx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}.dx-head h1{font-size:1.25rem;font-weight:650;letter-spacing:-.015em}.dx-head p{color:hsl(var(--muted-foreground));margin-top:2px}.dx-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dx-grid-kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.dx-grid-kpi.four{grid-template-columns:repeat(4,minmax(0,1fr))}.dx-grid-kpi.six{grid-template-columns:repeat(6,minmax(0,1fr))}.dx-cols{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dx-cols.main-side{grid-template-columns:minmax(0,1.75fr) minmax(320px,1fr)}.dx-cols.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 1280px){.dx-grid-kpi,.dx-grid-kpi.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1100px){.dx-cols,.dx-cols.main-side,.dx-cols.three{grid-template-columns:1fr}}@media (max-width: 700px){.dx-grid-kpi,.dx-grid-kpi.four,.dx-grid-kpi.six{grid-template-columns:repeat(2,minmax(0,1fr))}}.dx-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;min-width:0;display:flex;flex-direction:column}.dx-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid hsl(var(--border))}.dx-card-title{font-size:.875rem;font-weight:600;letter-spacing:-.005em}.dx-card-sub{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:2px}.dx-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dx-card-body{padding:14px 16px;flex:1}.dx-card-flush{flex:1;min-width:0}.dx-kpi{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;padding:12px 14px;text-align:left;font:inherit;color:inherit;min-width:0;display:flex;flex-direction:column;gap:6px}.dx-kpi.click{cursor:pointer;transition:border-color .15s ease}.dx-kpi.click:hover{border-color:hsl(var(--primary) / .5)}.dx-kpi-label{display:flex;align-items:center;gap:7px;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground))}.dx-kpi-value{font-size:1.5rem;font-weight:650;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.dx-kpi-value .unit{font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground));margin-left:4px;letter-spacing:0}.dx-kpi-foot{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:.75rem;color:hsl(var(--muted-foreground));min-height:16px}.dx-delta{font-weight:600;font-variant-numeric:tabular-nums}.dx-delta.good{color:hsl(var(--safe))}.dx-delta.bad{color:hsl(var(--danger))}.dx-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.dx-dot.ok{background:hsl(var(--safe))}.dx-dot.warn{background:hsl(var(--warning))}.dx-dot.crit{background:hsl(var(--danger))}.dx-dot.off{background:hsl(var(--offline))}.dx-status{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;white-space:nowrap;padding:2px 8px 2px 7px;border-radius:4px}.dx-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.dx-status.ok{color:hsl(var(--safe));background:hsl(var(--safe) / .1)}.dx-status.warn{color:hsl(var(--warning));background:hsl(var(--warning) / .12)}.dx-status.crit{color:hsl(var(--danger));background:hsl(var(--danger) / .1)}.dx-status.off{color:hsl(var(--muted-foreground));background:hsl(var(--offline) / .15)}.dx-sev{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.dx-sev.critical{color:hsl(var(--danger))}.dx-sev.warning{color:hsl(var(--warning))}.dx-sev.info,.dx-muted{color:hsl(var(--muted-foreground))}.dx-mono{font-family:var(--font-mono);font-size:.75rem;white-space:nowrap}.t-ok{color:hsl(var(--safe))}.t-warn{color:hsl(var(--warning))}.t-crit{color:hsl(var(--danger))}.t-off{color:hsl(var(--offline))}.dx-tabs{display:flex;gap:2px;border-bottom:1px solid hsl(var(--border));overflow-x:auto;scrollbar-width:none}.dx-tabs::-webkit-scrollbar{display:none}.dx-tabs button{position:relative;background:none;border:0;padding:9px 12px 10px;cursor:pointer;white-space:nowrap;font:500 .8125rem var(--font);color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;gap:7px}.dx-tabs button:hover{color:hsl(var(--foreground))}.dx-tabs button.on{color:hsl(var(--foreground));font-weight:600}.dx-tabs button.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;background:hsl(var(--primary));border-radius:1px}.dx-count{font-size:.6875rem;font-weight:600;padding:0 6px;border-radius:9px;background:hsl(var(--muted));color:hsl(var(--muted-foreground));line-height:18px}.dx-tabs button.on .dx-count{background:hsl(var(--accent-bg));color:hsl(var(--primary))}.dx-seg{display:inline-flex;padding:2px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--card))}.dx-seg button{border:0;background:none;padding:5px 10px;border-radius:4px;cursor:pointer;font:500 .75rem var(--font);color:hsl(var(--muted-foreground));white-space:nowrap}.dx-seg button:hover{color:hsl(var(--foreground))}.dx-seg button.on{background:hsl(var(--accent-bg));color:hsl(var(--primary));font-weight:600}.dx-seg.sm button{padding:4px 9px}.dx-range{display:inline-flex;align-items:center;gap:8px}.dx-custom{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:hsl(var(--muted-foreground))}.dx-custom input{width:52px;height:28px;padding:0 6px;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--card));color:hsl(var(--foreground));font:inherit}.dx-select{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:hsl(var(--muted-foreground))}.dx-select select{height:30px;padding:0 26px 0 9px;border:1px solid hsl(var(--border));border-radius:6px;background-color:hsl(var(--card));color:hsl(var(--foreground));font:500 .8125rem var(--font);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.dx-search{position:relative;display:inline-flex;align-items:center}.dx-search svg{position:absolute;left:9px;color:hsl(var(--muted-foreground))}.dx-search input{height:30px;width:220px;padding:0 10px 0 28px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--card));color:hsl(var(--foreground));font:.8125rem var(--font)}.dx-search input:focus,.dx-select select:focus,.dx-custom input:focus{outline:2px solid hsl(var(--primary) / .35);outline-offset:0;border-color:hsl(var(--primary))}.dx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 12px;border-radius:6px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font:500 .8125rem var(--font);cursor:pointer;white-space:nowrap;text-decoration:none}.dx-btn:hover{background:hsl(var(--muted))}.dx-btn.primary{background:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff}.dx-btn.primary:hover{background:hsl(var(--primary-strong))}.dx-btn:disabled{opacity:.5;cursor:default}.dx-link{background:none;border:0;padding:0;color:hsl(var(--primary));font:500 .8125rem var(--font);cursor:pointer;text-decoration:none}.dx-link:hover{text-decoration:underline}.dx-icon-btn{width:28px;height:28px;border:1px solid hsl(var(--border));border-radius:6px;background:hsl(var(--card));color:hsl(var(--muted-foreground));cursor:pointer}.dx-icon-btn:hover{color:hsl(var(--foreground))}.dx-table-wrap{overflow-x:auto}.dx-table{width:100%;border-collapse:collapse;font-size:.8125rem}.dx-table th{text-align:left;font-weight:500;font-size:.75rem;color:hsl(var(--muted-foreground));padding:8px 12px;border-bottom:1px solid hsl(var(--border));white-space:nowrap;background:hsl(var(--card-muted))}.dx-table th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.dx-table th button:hover{color:hsl(var(--foreground))}.dx-sort{font-size:.5625rem;opacity:.6}.dx-table td{padding:8px 12px;border-bottom:1px solid hsl(var(--border));vertical-align:middle}.dx-table tr:last-child td{border-bottom:0}.dx-table tr.click{cursor:pointer}.dx-table tr.click:hover td{background:hsl(var(--card-muted))}.dx-table tr.sel td{background:hsl(var(--accent-bg))}.dx-table td.num,.dx-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dx-table .strong{font-weight:600}.dx-empty{text-align:center;color:hsl(var(--muted-foreground));padding:28px!important}.dx-pager{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.75rem}.dx-pager div{display:flex;gap:6px}.dx-pager button{height:26px;padding:0 10px;border:1px solid hsl(var(--border));border-radius:4px;background:hsl(var(--card));color:hsl(var(--foreground));cursor:pointer;font:inherit}.dx-pager button:disabled{opacity:.45;cursor:default}.dx-chart{position:relative;width:100%}.dx-chart svg{display:block;overflow:visible}.dx-grid{stroke:hsl(var(--border));stroke-width:1}.dx-axis{fill:hsl(var(--muted-foreground));font-size:10.5px;font-family:var(--font);font-variant-numeric:tabular-nums}.dx-band{fill:hsl(var(--safe));opacity:.07}.dx-thr{stroke-width:1;stroke-dasharray:4 4}.dx-thr.warn{stroke:hsl(var(--warning));opacity:.8}.dx-thr.crit{stroke:hsl(var(--danger));opacity:.7}.dx-cross{stroke:hsl(var(--muted-foreground));stroke-width:1;stroke-dasharray:2 3}.dx-marker{stroke:hsl(var(--danger));stroke-width:1.2}.dx-marker-label{fill:hsl(var(--danger));font-weight:600}.dx-tip{position:absolute;pointer-events:none;min-width:160px;max-width:240px;background:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:6px;box-shadow:0 4px 14px #1018281a;padding:8px 10px;font-size:.75rem;z-index:2}.dx-tip-time{color:hsl(var(--muted-foreground));margin-bottom:4px}.dx-tip-row{display:flex;align-items:center;gap:6px}.dx-tip-row .sw{width:8px;height:2px;border-radius:1px;flex-shrink:0}.dx-tip-row .lbl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:hsl(var(--muted-foreground))}.dx-tip-row b{font-variant-numeric:tabular-nums}.dx-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.75rem;color:hsl(var(--muted-foreground))}.dx-legend span{display:inline-flex;align-items:center;gap:6px}.dx-legend i{width:12px;height:2px;border-radius:1px;display:inline-block}.dx-legend i.dash{height:0;border-top:1.5px dashed;background:none!important}.dx-legend i.band{height:10px;width:12px;background:hsl(var(--safe) / .14);border-radius:2px}.dx-spark{display:block}.dx-barlist{display:flex;flex-direction:column;gap:10px}.dx-barrow.click{cursor:pointer}.dx-barrow.click:hover .lbl{color:hsl(var(--primary))}.dx-barrow-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.dx-barrow-top .lbl{font-weight:500}.dx-barrow-top .val{font-weight:600;font-variant-numeric:tabular-nums}.dx-bartrack{height:6px;background:hsl(var(--muted));border-radius:3px;overflow:hidden}.dx-barfill{height:100%;border-radius:3px}.dx-barrow-sub{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:3px}.dx-tank{position:relative;width:34px;height:56px;border:1px solid hsl(var(--border-strong));border-radius:4px;background:hsl(var(--card-muted));overflow:hidden;flex-shrink:0}.dx-tank-fill{position:absolute;left:0;right:0;bottom:0}.dx-tank-low{position:absolute;left:-2px;right:-2px;border-top:1px dashed hsl(var(--warning))}.dx-segbar{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px;background:hsl(var(--muted))}.dx-segbar span{display:block;height:100%}.dx-map{width:100%;border-radius:0 0 6px 6px;background:hsl(var(--card-muted));z-index:0}.dx-card-flush>.dx-map:only-child{border-radius:0 0 6px 6px}.dx-pin{display:block;border:2px solid #fff;box-shadow:0 0 0 1px #10182840;border-radius:50%;cursor:pointer}.dx-pin.square{border-radius:3px}.dx-pin.diamond{border-radius:2px;transform:rotate(45deg) scale(.85)}.dx-pin.crit{animation:dx-pulse 1.8s ease-out infinite}.dx-pin.sel{box-shadow:0 0 0 2px hsl(var(--primary)),0 0 0 5px hsl(var(--primary) / .25)}@keyframes dx-pulse{0%{box-shadow:0 0 #e5484d8c}to{box-shadow:0 0 0 10px #e5484d00}}.dx-maptip{font:500 12px var(--font);padding:4px 8px;border-radius:4px;border:1px solid hsl(var(--border));box-shadow:0 2px 8px #1018281f}.dx-map-legend{display:flex;flex-wrap:wrap;gap:4px 14px;padding:8px 16px;border-top:1px solid hsl(var(--border));font-size:.75rem;color:hsl(var(--muted-foreground))}.dx-map-legend span{display:inline-flex;align-items:center;gap:6px}.dx-list{display:flex;flex-direction:column}.dx-item{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;border-bottom:1px solid hsl(var(--border));text-align:left;background:none;border-left:0;border-right:0;border-top:0;width:100%;font:inherit;color:inherit}.dx-item:last-child{border-bottom:0}button.dx-item{cursor:pointer}button.dx-item:hover{background:hsl(var(--card-muted))}.dx-item .bar{width:3px;align-self:stretch;border-radius:2px;flex-shrink:0}.dx-item .bar.critical{background:hsl(var(--danger))}.dx-item .bar.warning{background:hsl(var(--warning))}.dx-item .bar.info{background:hsl(var(--offline))}.dx-item-main{flex:1;min-width:0}.dx-item-title{font-weight:600;line-height:1.35}.dx-item-sub{color:hsl(var(--muted-foreground));font-size:.75rem;margin-top:2px}.dx-item-meta{color:hsl(var(--muted-foreground));font-size:.75rem;white-space:nowrap;text-align:right}.dx-rows{display:flex;flex-direction:column}.dx-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid hsl(var(--border))}.dx-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dx-row .val{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.dx-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1018282e;opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:60}.dx-scrim.open{opacity:1;pointer-events:auto}.dx-drawer{position:fixed;top:0;right:0;height:100vh;width:min(520px,100vw);background:hsl(var(--card));border-left:1px solid hsl(var(--border));z-index:61;transform:translate(100%);transition:transform .2s ease;display:flex;flex-direction:column;box-shadow:-8px 0 24px #10182814}.dx-drawer.open{transform:none}.dx-drawer-head{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid hsl(var(--border))}.dx-kicker{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground))}.dx-drawer-title{font-size:1.0625rem;font-weight:650;letter-spacing:-.01em;margin-top:3px!important}.dx-drawer-status{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dx-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:20px}.dx-drawer-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid hsl(var(--border))}.dx-section-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.dx-section-head h4{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsl(var(--muted-foreground))}.dx-kv{margin:0;display:grid;grid-template-columns:1fr 1fr;border:1px solid hsl(var(--border));border-radius:6px;overflow:hidden}.dx-kv>div{padding:8px 12px;border-bottom:1px solid hsl(var(--border))}.dx-kv>div:nth-child(odd){border-right:1px solid hsl(var(--border))}.dx-kv>div:nth-last-child(-n+2){border-bottom:0}.dx-kv dt{font-size:.6875rem;color:hsl(var(--muted-foreground))}.dx-kv dd{margin:2px 0 0;font-weight:600;font-variant-numeric:tabular-nums}.dx-loading{display:flex;align-items:center;gap:10px;color:hsl(var(--muted-foreground));padding:40px;justify-content:center}.dx-loading span{width:14px;height:14px;border-radius:50%;border:2px solid hsl(var(--border));border-top-color:hsl(var(--primary));animation:dx-spin .8s linear infinite}@keyframes dx-spin{to{transform:rotate(360deg)}}.dx-insight{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:6px;border:1px solid hsl(var(--border));background:hsl(var(--card-muted));line-height:1.5}.dx-insight i{width:3px;align-self:stretch;border-radius:2px;flex-shrink:0}.dx-insight.warn i{background:hsl(var(--warning))}.dx-insight.crit i{background:hsl(var(--danger))}.dx-insight.ok i{background:hsl(var(--safe))}.dx-insight.off i{background:hsl(var(--primary))}.dx-insight b{font-weight:600}.dx-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid hsl(var(--border))}.dx-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;background:hsl(var(--muted));font-size:.75rem;color:hsl(var(--muted-foreground))}.dx-param{display:grid;gap:4px}.dx-steps{margin:0;padding:0;display:flex;gap:0;border:1px solid hsl(var(--border));border-radius:6px;overflow:hidden}.dx-steps li{list-style:none;flex:1;padding:8px 12px;font-size:.75rem;color:hsl(var(--muted-foreground));border-right:1px solid hsl(var(--border));display:flex;gap:8px;align-items:center;background:hsl(var(--card))}.dx-steps li:last-child{border-right:0}.dx-steps li b{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.6875rem;background:hsl(var(--muted));color:hsl(var(--muted-foreground));flex-shrink:0}.dx-steps li.done b,.dx-steps li.on b{background:hsl(var(--primary));color:#fff}.dx-steps li.on{color:hsl(var(--foreground));font-weight:600;background:hsl(var(--accent-bg))}@media (max-width: 900px){.dx-steps{flex-direction:column}.dx-steps li{border-right:0;border-bottom:1px solid hsl(var(--border))}}.tb-filters{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.tb-filters .search{flex:0 1 240px;min-width:150px;margin-left:0}.topbar .tb-sub{max-width:340px}.dx-map .leaflet-tile-pane{filter:saturate(.35) contrast(.95) brightness(1.04)}[data-theme=dark] .dx-map .leaflet-tile-pane{filter:invert(.92) hue-rotate(180deg) saturate(.3) brightness(.9) contrast(.9)}@media (max-width: 1100px){.tb-filters .dx-select span{display:none}}@media print{.sidebar,.topbar,.app-footer,.dx-no-print{display:none!important}.app{display:block!important}.dx-print{border:0!important}}.dx{gap:20px;font-size:.875rem}.dx-card,.dx-kpi{border:0;border-radius:12px;background:hsl(var(--card));box-shadow:0 0 0 1px hsl(var(--border)),0 1px 2px #1018280d}.dx-card-head{border-bottom:0;padding:18px 20px 4px}.dx-card-title{font-size:1rem;font-weight:600}.dx-card-sub{font-size:.8125rem}.dx-card-body{padding:14px 20px 20px}.dx-card-flush{padding:10px 12px 12px}.dx-card-flush>.dx-table-wrap,.dx-card-flush>.dx-list,.dx-card-flush>.dx-map{border-radius:8px}.dx-link{font-weight:500;font-size:.8125rem}.dx-kpi{padding:18px;gap:0;flex-direction:row;align-items:flex-start}.dx-kpi.has-icon{gap:14px}.dx-kpi-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.dx-kpi-label{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500}.dx-kpi-value{font-size:1.75rem;font-weight:650}.dx-kpi-chart{align-self:flex-end;flex-shrink:0;margin-left:4px}.dx-kpi.click:hover{box-shadow:0 0 0 1px hsl(var(--primary) / .5),0 4px 12px #1018280f}.dx-kpi{flex-wrap:wrap}.dx-kpi-chart{flex-basis:100%;margin:12px 0 0;align-self:stretch}.dx-kpi-chart svg{width:100%;height:36px;display:block}@media (max-width: 1600px){.dx-kpi.has-icon{gap:12px;padding:16px}.dx-kpi.has-icon .dx-icontile{width:36px!important;height:36px!important}}.dx-icontile{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.dx-icontile.blue{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.dx-icontile.ok{background:hsl(var(--safe) / .12);color:hsl(var(--safe))}.dx-icontile.warn{background:hsl(var(--warning) / .14);color:hsl(var(--warning))}.dx-icontile.crit{background:hsl(var(--danger) / .12);color:hsl(var(--danger))}.dx-icontile.off{background:hsl(var(--offline) / .18);color:hsl(var(--muted-foreground))}.dx-icontile.solid.crit{background:hsl(var(--danger));color:#fff}.dx-icontile.solid.warn{background:hsl(var(--warning));color:#fff}.dx-icontile.solid.blue{background:hsl(var(--primary));color:#fff}.dx-badge-delta{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums}.dx-badge-delta.good{color:hsl(var(--safe));background:hsl(var(--safe) / .1)}.dx-badge-delta.bad{color:hsl(var(--danger));background:hsl(var(--danger) / .1)}.dx-rows{gap:6px}.dx-row{border:0;border-radius:8px;background:hsl(var(--card-muted));padding:9px 12px}.dx-row:last-child{border-bottom:0}.dx-list{gap:8px}.dx-item{border:0!important;border-radius:10px;background:hsl(var(--card-muted));padding:12px 14px;align-items:center}button.dx-item:hover{background:hsl(var(--accent-bg))}.dx-item .bar{align-self:stretch;width:4px}.dx-item .dx-icontile{width:36px;height:36px;border-radius:50%}.dx-item-chev{color:hsl(var(--muted-foreground));flex-shrink:0}.dx-item-val{text-align:right;white-space:nowrap}.dx-item-val b{display:block;font-weight:600;font-variant-numeric:tabular-nums}.dx-item-val span{font-size:.75rem;color:hsl(var(--muted-foreground))}.dx-tabs{border-bottom:0;background:hsl(var(--muted));padding:4px;border-radius:10px;gap:2px;width:fit-content;max-width:100%}.dx-tabs button{border-radius:7px;padding:7px 14px}.dx-tabs button.on{background:hsl(var(--card));box-shadow:0 1px 2px #1018281a;color:hsl(var(--primary))}.dx-tabs button.on:after{display:none}.dx-seg{border:0;background:hsl(var(--muted));border-radius:8px;padding:3px}.dx-seg button.on{background:hsl(var(--card));color:hsl(var(--primary));box-shadow:0 1px 2px #1018281a}.dx-card-flush>div>.dx-tabs{margin:6px 0 4px}.dx-filters{border-bottom:0;background:hsl(var(--card-muted));border-radius:10px;margin:0 0 10px;padding:10px 12px}.dx-map-legend{border-top:0;margin-top:8px;background:hsl(var(--card-muted));border-radius:8px;padding:8px 12px}.dx-select select,.dx-search input,.dx-btn{border-radius:8px;height:34px}.dx-btn.primary{box-shadow:0 1px 2px #1769e84d}.dx-table-wrap{border-radius:10px;box-shadow:0 0 0 1px hsl(var(--border))}.dx-table th{background:hsl(var(--card-muted));font-weight:600;color:hsl(var(--foreground) / .75);padding:10px 14px}.dx-table td{padding:11px 14px;border-bottom-color:hsl(var(--border) / .7)}.dx-status{border-radius:6px;padding:3px 9px 3px 8px}.dx-kv{border:0;gap:8px}.dx-kv>div{border:0!important;background:hsl(var(--card-muted));border-radius:8px}.dx-insight{border:0;border-radius:10px;padding:14px 16px}.dx-insight.crit{background:hsl(var(--danger) / .07)}.dx-insight.warn{background:hsl(var(--warning) / .09)}.dx-steps{border:0;gap:8px;overflow:visible}.dx-steps li{border:0!important;border-radius:10px;box-shadow:0 0 0 1px hsl(var(--border))}.dx-map{border-radius:10px}.aw-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.aw-pagehead h1{margin:0;font-size:1.75rem;font-weight:650;letter-spacing:-.02em;color:hsl(var(--foreground))}.aw-pagehead p{margin:4px 0 0;color:hsl(var(--muted-foreground));font-size:.9375rem}.page{padding:24px 28px;gap:20px}.aw-sb{padding:22px 16px 16px;gap:4px;background:hsl(var(--card))}.aw-sb-brand{display:flex;align-items:center;gap:10px;padding:0 10px 22px;color:hsl(var(--foreground));text-decoration:none;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.aw-sb-brand b{color:hsl(var(--primary));font-weight:700}.aw-sb-nav{display:flex;flex-direction:column;gap:4px}.aw-sb-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:hsl(var(--foreground) / .8);font-size:.9375rem;font-weight:500;text-decoration:none}.aw-sb-link:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.aw-sb-link.active{background:hsl(var(--accent-bg));color:hsl(var(--primary));font-weight:600}.aw-sb-link svg{flex-shrink:0}.aw-sb-chev{margin-left:auto;opacity:.6}.aw-sb-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:hsl(var(--danger));color:#fff;font-size:.6875rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.aw-sb-sub{display:flex;flex-direction:column;gap:2px;padding:4px 0 6px 22px}.aw-sb-sublink{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.875rem;color:hsl(var(--muted-foreground));text-decoration:none}.aw-sb-sublink svg{width:16px;height:16px}.aw-sb-sublink:hover{color:hsl(var(--foreground));background:hsl(var(--muted))}.aw-sb-sublink.active{color:hsl(var(--primary));font-weight:600;background:hsl(var(--accent-bg) / .6)}.aw-sb-utility{margin-top:auto;display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:hsl(var(--card-muted));box-shadow:0 0 0 1px hsl(var(--border))}.aw-sb-utility-icon{width:40px;height:40px;border-radius:10px;background:hsl(var(--primary) / .1);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;flex-shrink:0}.aw-sb-utility b{display:block;font-size:.875rem}.aw-sb-utility span{display:flex;align-items:center;gap:6px;font-size:.75rem;color:hsl(var(--muted-foreground))}.aw-sb-utility i{width:7px;height:7px;border-radius:50%;background:hsl(var(--safe))}.aw-sb-utility i.warn{background:hsl(var(--warning))}.sidebar.collapsed .aw-sb-link{justify-content:center}.sidebar.collapsed .aw-sb-badge{display:none}.aw-tb{min-height:68px;gap:14px;background:hsl(var(--card));padding:12px 28px}.aw-tb .search{flex:1;max-width:520px;margin-left:0;position:relative}.aw-tb .search-input{height:42px;border-radius:10px;background:hsl(var(--card-muted));padding-right:56px;font-size:.875rem}.aw-kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:600 .6875rem var(--font);color:hsl(var(--muted-foreground));background:hsl(var(--card));border-radius:6px;padding:3px 7px;box-shadow:0 0 0 1px hsl(var(--border));pointer-events:none;z-index:1}.aw-tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}.aw-pill-select{position:relative;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 12px;border-radius:10px;background:hsl(var(--card));box-shadow:0 0 0 1px hsl(var(--border));color:hsl(var(--muted-foreground))}.aw-pill-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:500 .875rem var(--font);color:hsl(var(--foreground));padding-right:18px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.aw-pill-select select option{color:#111827}.aw-pill-select:focus-within{box-shadow:0 0 0 2px hsl(var(--primary) / .5)}.aw-tb-icon{position:relative;width:42px;height:42px;border-radius:10px;border:0;background:transparent;color:hsl(var(--muted-foreground));display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.aw-tb-icon:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.aw-bell i{position:absolute;top:10px;right:11px;width:8px;height:8px;border-radius:50%;background:hsl(var(--danger));box-shadow:0 0 0 2px hsl(var(--card))}.aw-avatar{width:40px;height:40px;border-radius:50%;background:hsl(var(--accent-bg));color:hsl(var(--primary));font-weight:700;font-size:.8125rem;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 1100px){.aw-pill-select svg{display:none}.aw-tb{padding:10px 16px}.aw-kbd{display:none}}@media (max-width: 760px){.aw-pill-select,.aw-tb-icon[title*=mode]{display:none}}.ov-today{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.8125rem;color:hsl(var(--muted-foreground))}.ov-today b{display:inline-flex;align-items:center;gap:7px;font-weight:500;color:hsl(var(--foreground));padding:5px 10px;border-radius:8px;background:hsl(var(--card));box-shadow:0 0 0 1px hsl(var(--border))}.ov-today i{width:7px;height:7px;border-radius:50%;background:hsl(var(--safe))}.ov-q{display:inline-flex;align-items:center;gap:8px}.ov-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}@media (max-width: 1600px){.ov-five{grid-template-columns:repeat(3,minmax(0,1fr))}}.ov-five{gap:16px}.ov-five .dx-card-head,.ov-five .dx-card-body{padding-left:16px;padding-right:16px}.dx-spark.fluid{width:100%}@media (max-width: 1000px){.ov-five{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.ov-five{grid-template-columns:1fr}}.ov-five .dx-card-head{flex-wrap:wrap}.ov-big{display:flex;align-items:center;gap:10px}.ov-big b{font-size:1.75rem;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ov-big small{font-size:.875rem;font-weight:500;color:hsl(var(--muted-foreground));margin-left:4px}.ov-note{font-size:.8125rem;margin:2px 0 10px}.ov-donut{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:4px}.dx-donut{position:relative}.dx-donut svg{display:block}.dx-donut-c{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.dx-donut-c b{font-size:1.5rem;font-weight:650;letter-spacing:-.02em}.dx-donut-c span{font-size:.75rem;color:hsl(var(--muted-foreground))}.ov-sw{width:10px;height:10px;border-radius:3px;flex-shrink:0}.ov-lg{display:inline-block;flex-shrink:0}.ov-lg.pipe{width:14px;height:3px;border-radius:2px;background:hsl(var(--primary))}.ov-lg.sq{width:10px;height:10px;border-radius:2px;background:hsl(var(--primary) / .7)}.ov-lg.dia{width:9px;height:9px;transform:rotate(45deg);background:hsl(var(--primary) / .7)}.dx-grid-kpi,.dx-cols{gap:20px}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root,[data-theme=light]{--background: 220 23% 97.5%;--foreground: 221 39% 11%;--card: 0 0% 100%;--card-muted: 220 23% 97.5%;--popover: 0 0% 100%;--muted: 220 14% 95%;--muted-foreground: 221 13% 46.1%;--accent-bg: 217 100% 95.9%;--border: 220 13% 91%;--border-strong: 220 11% 84%;--input: 220 13% 91%;--ring: 216 82% 50%;--primary: 216 82% 50%;--primary-strong: 217 83% 42%;--primary-foreground: 0 0% 100%;--safe: 155 77% 36.9%;--warning: 38 82% 49.4%;--danger: 358 75% 59%;--offline: 218 15% 64.9%;--info: 216 82% 50%;--safe-bg: 155 77% 36.9% / .1;--warning-bg: 38 82% 49.4% / .12;--danger-bg: 358 75% 59% / .1;--info-bg: 216 82% 50% / .1;--map-overlay: 0 0% 0% / 0;--map-tile: "https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png"}[data-theme=dark]{--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 10% 3.9%;--card-muted: 240 5% 8%;--popover: 240 10% 3.9%;--muted: 240 3.7% 15.9%;--muted-foreground: 240 5% 64.9%;--accent-bg: 218 46% 20%;--border: 240 3.7% 15.9%;--border-strong: 240 4% 22%;--input: 240 3.7% 15.9%;--ring: 217 91% 60%;--primary: 216 82% 54%;--primary-strong: 216 82% 47%;--primary-foreground: 0 0% 100%;--safe: 155 65% 42%;--warning: 38 82% 52%;--danger: 358 75% 62%;--offline: 218 12% 55%;--info: 216 82% 58%;--safe-bg: 155 65% 42% / .16;--warning-bg: 38 82% 52% / .16;--danger-bg: 358 75% 62% / .16;--info-bg: 216 82% 58% / .16;--map-tile: "https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png"}:root{--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--s10: 40px;--s12: 48px;--s16: 64px;--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-full: 9999px;--sidebar-w: 252px;--t-fast: .15s ease;--t-base: .2s ease}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.app.nav-collapsed{grid-template-columns:74px 1fr}@media (max-width: 1024px){.app{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{background:hsl(var(--card));border-right:1px solid hsl(var(--border));padding:var(--s4) var(--s3);display:flex;flex-direction:column;gap:var(--s1);position:sticky;top:0;height:100vh}.sidebar.collapsed .sb-text,.sidebar.collapsed .sb-section{display:none}.sidebar.collapsed .sb-link{justify-content:center;padding:9px 8px}.sidebar.collapsed .sb-foot{align-items:center}.sidebar.collapsed .theme-toggle{width:38px;justify-content:center;padding:6px}.sidebar.collapsed .sb-user{justify-content:center}.sidebar.collapsed .sb-avatar{margin:0}.sb-brand{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);margin-bottom:var(--s4);font-weight:700;letter-spacing:-.015em;font-size:.9375rem}.sb-brand .accent{color:hsl(var(--primary))}.sb-section{font-size:.6875rem;font-weight:500;letter-spacing:.04em;color:hsl(var(--muted-foreground));padding:var(--s3) var(--s3) var(--s1)}.sb-link{display:flex;align-items:center;gap:var(--s3);padding:8px var(--s3);border-radius:var(--r-md);font-size:.875rem;color:hsl(var(--muted-foreground));transition:all var(--t-fast);font-weight:500}.sb-link:hover{background:hsl(var(--accent-bg));color:hsl(var(--foreground))}.sb-link.active{background:hsl(var(--accent-bg));color:hsl(var(--foreground));outline:1px solid hsl(var(--primary) / .35)}.sb-link svg{color:hsl(var(--muted-foreground));flex-shrink:0}.sb-link.active svg{color:hsl(var(--foreground))}.sb-link .badge{margin-left:auto;font-size:.6875rem;font-weight:600;background:hsl(var(--danger-bg));color:hsl(var(--danger));padding:1px 6px;border-radius:var(--r-full)}.sb-foot{margin-top:auto;padding:var(--s3);border-top:1px solid hsl(var(--border));display:flex;flex-direction:column;gap:var(--s3)}.sb-user{display:flex;align-items:center;gap:var(--s3);font-size:.8125rem}.sb-avatar{width:28px;height:28px;border-radius:50%;background:hsl(var(--accent-bg));color:hsl(var(--foreground));display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600}.sb-user-meta{display:flex;flex-direction:column;line-height:1.2}.sb-user-name{color:hsl(var(--foreground));font-weight:500}.sb-user-sub{color:hsl(var(--muted-foreground));font-size:.6875rem}.theme-toggle{display:flex;align-items:center;gap:var(--s2);padding:6px 10px;background:transparent;border:1px solid hsl(var(--border));border-radius:var(--r-md);color:hsl(var(--muted-foreground));cursor:pointer;font-size:.75rem;font-weight:500;transition:all var(--t-fast)}.theme-toggle.icon-only{justify-content:center;width:34px;padding:6px}.theme-toggle:hover{background:hsl(var(--accent-bg));color:hsl(var(--foreground))}.main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:30;background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));padding:var(--s3) var(--s5);display:flex;align-items:center;gap:var(--s5);min-height:56px}.topbar-icon-btn{width:30px;height:30px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.topbar-icon-btn:hover{background:hsl(var(--accent-bg))}.topbar-icon-btn:focus-visible,.rail-icon-btn:focus-visible,.map-zoom-btn:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:1px}.tb-title{font-size:.9375rem;font-weight:600;letter-spacing:-.005em}.tb-sub{color:hsl(var(--muted-foreground));font-size:.75rem;margin-top:2px}.search{position:relative;flex:1;max-width:400px;margin-left:auto}.search-input{width:100%;padding:7px 12px 7px 34px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-md);color:hsl(var(--foreground));font-family:inherit;font-size:.8125rem;transition:all var(--t-fast)}.search-input::placeholder{color:hsl(var(--muted-foreground))}.search-input:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 1px hsl(var(--ring))}.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground))}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--r-md);max-height:360px;overflow-y:auto;z-index:50}.search-results .group-label{padding:6px 10px;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:hsl(var(--muted-foreground));background:hsl(var(--card-muted));border-bottom:1px solid hsl(var(--border))}.search-result{display:flex;align-items:center;gap:var(--s3);padding:8px 10px;cursor:pointer;border-bottom:1px solid hsl(var(--border))}.search-result:last-child{border-bottom:none}.search-result:hover{background:hsl(var(--accent-bg))}.search-result-icon{width:24px;height:24px;border-radius:var(--r-sm);background:hsl(var(--muted));color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-result-meta{flex:1;min-width:0}.search-result-title{font-size:.8125rem;font-weight:500}.search-result-sub{font-size:.6875rem;color:hsl(var(--muted-foreground))}.search-empty{padding:14px;color:hsl(var(--muted-foreground));font-size:.8125rem;text-align:center}.page{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s5)}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-lg)}.card-head{padding:var(--s4) var(--s5);border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.card-title{font-size:.875rem;font-weight:600;letter-spacing:-.005em}.card-sub{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:2px}.card-body{padding:var(--s5)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}@media (max-width: 1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-lg);padding:var(--s4) var(--s5);cursor:pointer;transition:border-color var(--t-fast)}.kpi:hover{border-color:hsl(var(--border-strong))}.kpi.flat{cursor:default}.kpi.flat:hover{border-color:hsl(var(--border))}.kpi-label{font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));margin-bottom:var(--s2)}.kpi-value{font-size:1.625rem;font-weight:600;letter-spacing:-.025em;font-family:var(--font);color:hsl(var(--foreground));display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.kpi-unit{font-size:.8125rem;font-weight:400;color:hsl(var(--muted-foreground))}.kpi-trend{font-size:.75rem;margin-top:var(--s2);display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}.kpi-trend.up{color:hsl(var(--safe))}.kpi-trend.down{color:hsl(var(--danger))}.kpi-trend.flat{color:hsl(var(--muted-foreground))}.kpi-accent,.kpi-safe,.kpi-warn,.kpi-danger{border-top:1px solid hsl(var(--border))}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--r-full);font-size:.6875rem;font-weight:500;border:1px solid transparent}.pill .dot{width:5px;height:5px;border-radius:50%}.pill.safe{background:hsl(var(--safe-bg));color:hsl(var(--safe))}.pill.safe .dot{background:hsl(var(--safe))}.pill.warn{background:hsl(var(--warning-bg));color:hsl(var(--warning))}.pill.warn .dot{background:hsl(var(--warning))}.pill.danger{background:hsl(var(--danger-bg));color:hsl(var(--danger))}.pill.danger .dot{background:hsl(var(--danger))}.pill.info{background:hsl(var(--info-bg));color:hsl(var(--info))}.pill.info .dot{background:hsl(var(--info))}.pill.muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.pill.muted .dot{background:hsl(var(--muted-foreground))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:var(--r-md);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer;border:1px solid transparent;background:transparent;color:hsl(var(--foreground));transition:all var(--t-fast);text-decoration:none;line-height:1.2}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.btn-primary:hover{background:hsl(var(--primary-strong))}.btn-ghost{background:transparent;border-color:hsl(var(--border));color:hsl(var(--foreground))}.btn-ghost:hover{background:hsl(var(--accent-bg))}.btn-sm{padding:5px 10px;font-size:.75rem}.table{width:100%;border-collapse:collapse;font-size:.8125rem}.table th,.table td{padding:10px var(--s4);text-align:left;border-bottom:1px solid hsl(var(--border))}.table th{font-size:.6875rem;font-weight:500;letter-spacing:.04em;color:hsl(var(--muted-foreground));background:hsl(var(--card-muted));text-transform:uppercase}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:hsl(var(--accent-bg))}.table .mono{font-family:var(--font-mono);color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.side-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:hsl(var(--background));border-left:1px solid hsl(var(--border));transform:translate(100%);transition:transform var(--t-base);z-index:1100;display:flex;flex-direction:column}.side-panel.open{transform:translate(0)}.sp-head{padding:var(--s4) var(--s5);border-bottom:1px solid hsl(var(--border));display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.sp-close{background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));width:26px;height:26px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;cursor:pointer}.sp-close:hover{color:hsl(var(--foreground));background:hsl(var(--accent-bg))}.sp-body{padding:var(--s5);overflow-y:auto;flex:1}.sp-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid hsl(var(--border));font-size:.8125rem}.sp-row:last-child{border-bottom:none}.sp-row .label{color:hsl(var(--muted-foreground))}.sp-row .value{font-weight:500}.sp-row .value.mono{font-family:var(--font-mono);color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.gis-canvas{position:relative;flex:1;height:calc(100vh - 68px);overflow:hidden}.gis-canvas.danger-active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#ef44441f;animation:dangerPulse 1.4s ease-in-out infinite;z-index:350}.danger-pill{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:500;padding:6px 12px;border-radius:var(--r-full);border:1px solid rgba(239,68,68,.55);background:#ef444424;color:hsl(var(--danger));font-size:.75rem;font-weight:600}@keyframes dangerPulse{0%,to{opacity:.15}50%{opacity:.45}}.gis-leaflet{width:100%;height:100%;background:hsl(var(--card-muted))}.leaflet-container{background:hsl(var(--card-muted))!important;font-family:var(--font)}.leaflet-control-zoom a{background:hsl(var(--card))!important;color:hsl(var(--foreground))!important;border:1px solid hsl(var(--border))!important;border-radius:var(--r-md)!important;width:28px!important;height:28px!important;line-height:28px!important;font-size:14px!important;margin-bottom:2px!important}.leaflet-control-zoom a:hover{background:hsl(var(--accent-bg))!important}.leaflet-control-attribution{background:hsla(var(--card) / .85)!important;color:hsl(var(--muted-foreground))!important;font-size:10px!important;border:1px solid hsl(var(--border))!important;padding:2px 6px!important;border-radius:var(--r-sm)!important}.leaflet-control-attribution a{color:hsl(var(--primary))!important}.leaflet-popup-content-wrapper{background:hsl(var(--popover))!important;color:hsl(var(--foreground))!important;border:1px solid hsl(var(--border))!important;border-radius:var(--r-md)!important;box-shadow:none!important;padding:0!important}.leaflet-popup-content{margin:var(--s3) var(--s4)!important;font-size:.75rem!important}.leaflet-popup-tip{background:hsl(var(--popover))!important;border:1px solid hsl(var(--border))!important}.map-marker{width:16px;height:16px;border-radius:50%;border:2px solid hsl(var(--background));box-shadow:0 0 0 1px currentColor;cursor:pointer}.map-marker.tank{width:20px;height:20px;border-radius:4px;background:hsl(var(--info));color:hsl(var(--info))}.legend{position:absolute;bottom:var(--s4);left:var(--s4);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-md);padding:var(--s3) var(--s4);z-index:400;min-width:180px}.legend-title{font-size:.6875rem;font-weight:500;letter-spacing:.04em;color:hsl(var(--muted-foreground));margin-bottom:6px;text-transform:uppercase}.legend-row{display:flex;align-items:center;gap:var(--s2);font-size:.75rem;padding:3px 0}.legend-row .swatch{width:10px;height:10px;border-radius:50%;border:1.5px solid hsl(var(--background));flex-shrink:0}.legend-row .swatch.line{width:16px;height:2px;border-radius:1px;border:none}.chip-row{position:absolute;top:var(--s4);right:var(--s4);display:flex;gap:6px;flex-wrap:wrap;max-width:60%;justify-content:flex-end;z-index:400}.chip{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-full);padding:4px 10px;font-size:.6875rem;font-weight:500;color:hsl(var(--muted-foreground));cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all var(--t-fast)}.chip:hover{color:hsl(var(--foreground))}.chip.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:inset 0 0 0 1px hsl(var(--primary-foreground) / .08)}.chip .dot{width:5px;height:5px;border-radius:50%}.profile-drawer{position:fixed;top:0;right:0;width:360px;height:100vh;background:hsl(var(--background));border-left:1px solid hsl(var(--border));transform:translate(100%);transition:transform var(--t-base);z-index:60;display:flex;flex-direction:column}.profile-drawer.open{transform:translate(0)}.right-edge-rail{position:fixed;top:68px;right:0;height:calc(100vh - 68px);width:44px;z-index:62;background:hsl(var(--card-muted));border-left:1px solid hsl(var(--border));display:flex;justify-content:flex-start}.right-edge-icons{width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:16px}.rail-icon-btn{width:30px;height:30px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.rail-icon-btn svg{width:18px;height:18px}.rail-icon-btn:hover{background:hsl(var(--accent-bg));color:hsl(var(--foreground))}.rail-icon-btn.active{color:hsl(var(--primary));border-color:hsl(var(--primary) / .45);background:hsl(var(--accent-bg))}.right-edge-icons .rail-icon-btn+.rail-icon-btn{position:relative}.right-edge-icons .rail-icon-btn+.rail-icon-btn:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:20px;height:1px;background:hsl(var(--border-strong))}.profile-drawer-head{padding:var(--s4) var(--s5);border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between}.profile-drawer-body{padding:var(--s5);overflow-y:auto}.viewer-card{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s4)}.viewer-avatar{width:42px;height:42px;border-radius:50%;background:hsl(var(--accent-bg));border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;font-weight:700}.viewer-name{font-size:.88rem;font-weight:600}.viewer-role{font-size:.72rem;color:hsl(var(--muted-foreground))}.quick-meta{display:grid;gap:8px}.quick-meta div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid hsl(var(--border));padding-top:8px}.quick-meta span{color:hsl(var(--muted-foreground));font-size:.72rem}.quick-meta strong{font-size:.78rem}.ai-msg{border:1px solid hsl(var(--border));background:hsl(var(--card-muted));padding:10px;border-radius:var(--r-md);font-size:.74rem;color:hsl(var(--muted-foreground));margin-bottom:8px}.ai-msg.danger{border-color:#ef444473;background:#ef444414;color:hsl(var(--foreground))}.map-zoom-controls{position:absolute;top:10px;left:10px;z-index:320;display:grid;gap:8px}.map-zoom-btn{width:34px;height:34px;border-radius:8px;border:1px solid hsl(var(--border-strong));background:hsl(var(--card));color:hsl(var(--foreground));font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer}.map-zoom-btn:hover{background:hsl(var(--accent-bg))}.landing{min-height:100vh;display:flex;flex-direction:column;background:hsl(var(--background))}.landing-nav{position:sticky;top:0;z-index:40;background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));padding:var(--s3) var(--s6);display:flex;align-items:center;justify-content:space-between}.landing-nav-links{display:flex;gap:var(--s5);font-size:.8125rem;color:hsl(var(--muted-foreground))}.landing-nav-links a:hover{color:hsl(var(--foreground))}@media (max-width: 720px){.landing-nav-links{display:none}}.hero{padding:var(--s12) var(--s6) var(--s10);text-align:center;max-width:1400px;margin:0 auto}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-full);background:hsl(var(--accent-bg));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;margin-bottom:var(--s5)}.hero-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--safe))}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin:0 0 var(--s5);color:hsl(var(--foreground))}.hero-sub{font-size:1.0625rem;line-height:1.55;color:hsl(var(--muted-foreground));max-width:760px;margin:0 auto var(--s6)}.hero-ctas{display:flex;gap:var(--s3);justify-content:center;flex-wrap:wrap}.hero-meta{display:flex;gap:var(--s5);justify-content:center;flex-wrap:wrap;margin-top:var(--s5);font-size:.75rem;color:hsl(var(--muted-foreground))}.hero-meta span{display:inline-flex;align-items:center;gap:5px}.hero-meta .dot{width:5px;height:5px;border-radius:50%;background:hsl(var(--safe))}.landing-section{max-width:1440px;margin:0 auto;padding:var(--s10) var(--s6);width:100%}.landing-eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--primary));margin-bottom:var(--s2);text-align:center}.landing-section h2{font-size:clamp(1.5rem,3vw,2.125rem);font-weight:700;letter-spacing:-.025em;text-align:center;margin:0 0 var(--s3)}.landing-section .lede{text-align:center;color:hsl(var(--muted-foreground));max-width:560px;margin:0 auto var(--s5);font-size:.9375rem;line-height:1.55}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}@media (max-width: 720px){.steps{grid-template-columns:1fr}}.step{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-lg);padding:var(--s5)}.step-num{width:28px;height:28px;border-radius:var(--r-md);background:hsl(var(--accent-bg));color:hsl(var(--foreground));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8125rem;margin-bottom:var(--s3)}.step h3{margin:0 0 6px;font-size:.9375rem;font-weight:600}.step p{margin:0;color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.5}.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}@media (max-width: 720px){.feat-grid{grid-template-columns:1fr}}.feat{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-lg);padding:var(--s5)}.feat-icon{width:32px;height:32px;border-radius:var(--r-md);background:hsl(var(--accent-bg));color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;margin-bottom:var(--s3)}.feat h3{font-size:.9375rem;font-weight:600;margin:0 0 6px}.feat p{color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.5;margin:0}.landing-footer{border-top:1px solid hsl(var(--border));padding:var(--s6);text-align:center;color:hsl(var(--muted-foreground));font-size:.75rem;margin-top:auto}.landing-strip{max-width:1440px;margin:var(--s5) auto 0;padding:0 var(--s6);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3);width:100%}.metrics-band{max-width:1440px;margin:var(--s3) auto 0;padding:0 var(--s6);width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}.metric{border:1px solid hsl(var(--border));border-radius:var(--r-md);background:hsl(var(--card));padding:var(--s4);display:flex;flex-direction:column;gap:3px}.metric strong{font-size:1.4rem;letter-spacing:-.02em}.metric span{font-size:.75rem;color:hsl(var(--muted-foreground))}.strip-item{border:1px solid hsl(var(--border));border-radius:var(--r-md);background:hsl(var(--card));padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:2px}.strip-item .k{font-size:.6875rem;color:hsl(var(--muted-foreground))}.strip-item .v{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground))}.landing-band{width:100%;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));margin-top:var(--s8);background:hsl(var(--card-muted))}.band-inner{max-width:1440px;margin:0 auto;padding:var(--s10) var(--s6)}.band-title{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.025em;margin:0 0 var(--s3)}.band-lede{max-width:860px;margin:0 0 var(--s6);color:hsl(var(--muted-foreground))}.outcomes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}.outcome{border:1px solid hsl(var(--border));border-radius:var(--r-md);background:hsl(var(--card));padding:var(--s4)}.outcome h3{margin:0 0 6px;font-size:.9rem}.outcome p{margin:0;color:hsl(var(--muted-foreground));font-size:.8rem;line-height:1.5}.module-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s3)}.module-chip{border:1px solid hsl(var(--border));border-radius:var(--r-md);background:hsl(var(--card));padding:var(--s3);min-height:92px}.module-chip h3{margin:0 0 6px;font-size:.82rem}.module-chip p{margin:0;font-size:.72rem;color:hsl(var(--muted-foreground));line-height:1.4}.visual-flow h2{margin-bottom:var(--s5)}.visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}.visual-card{border:1px solid hsl(var(--border));border-radius:var(--r-md);background:hsl(var(--card));overflow:hidden}.visual-canvas{height:180px;background:linear-gradient(180deg,hsla(var(--primary) / .05),transparent 100%),repeating-linear-gradient(0deg,hsla(var(--border) / .55) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,hsla(var(--border) / .55) 0 1px,transparent 1px 40px),hsl(var(--card-muted));position:relative}.visual-card h3{margin:12px 14px 4px;font-size:.9rem}.visual-card p{margin:0 14px 14px;font-size:.78rem;color:hsl(var(--muted-foreground))}.visual-canvas .pin{position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid hsl(var(--background))}.visual-canvas .p1{top:38%;left:26%;background:#22c55e}.visual-canvas .p2{top:58%;left:48%;background:#f59e0b}.visual-canvas .p3{top:34%;left:72%;background:#3b82f6}.visual-canvas .line{position:absolute;height:2px;background:#3b82f6;transform-origin:left center}.visual-canvas .l1{left:27%;top:42%;width:24%;transform:rotate(22deg)}.visual-canvas .l2{left:51%;top:56%;width:21%;transform:rotate(-26deg)}.roi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}.roi-card{border:1px solid hsl(var(--border));border-radius:var(--r-md);background:hsl(var(--card));padding:var(--s5)}.roi-card h3{margin:0 0 var(--s3);font-size:.95rem}.roi-card ul{margin:0;padding-left:18px;color:hsl(var(--muted-foreground));font-size:.8125rem;line-height:1.6}.landing-cta{width:100%;border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));background:hsl(var(--card-muted));margin-top:var(--s8)}.landing-cta-inner{max-width:1440px;margin:0 auto;padding:var(--s10) var(--s6);display:grid;grid-template-columns:1.4fr auto;gap:var(--s5);align-items:center}.landing-cta-inner h2{margin:0 0 var(--s2);font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.02em}.landing-cta-inner p{margin:0;color:hsl(var(--muted-foreground));font-size:.9rem}.landing-cta-actions{display:flex;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end}.hero-preview{width:100%;max-width:1320px;margin:0 auto;padding:0 32px}@media (max-width: 900px){.hero-preview{padding:0 var(--s4)}}@media (max-width: 560px){.hero-preview{padding:0 var(--s3)}}.hero-preview-frame{background:#111318;border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;box-shadow:0 48px 120px #00000073,0 0 0 1px #2563eb33,0 0 100px #2563eb1f}.hero-preview-bar{display:flex;gap:6px;padding:11px var(--s4);border-bottom:1px solid rgba(255,255,255,.08);background:#1a1d26}.hero-preview-bar .d{width:10px;height:10px;border-radius:50%}.hero-preview-img{height:380px;background:linear-gradient(180deg,hsla(var(--primary) / .04),transparent 100%),repeating-linear-gradient(0deg,hsla(var(--border) / .6) 0 1px,transparent 1px 60px),repeating-linear-gradient(90deg,hsla(var(--border) / .6) 0 1px,transparent 1px 60px),hsl(var(--card-muted));position:relative}.hero-preview-img:after{content:"Live demo · click to enter";position:absolute;bottom:12px;right:12px;font-size:.75rem;color:hsl(var(--muted-foreground));background:hsl(var(--card));border:1px solid hsl(var(--border));padding:4px 10px;border-radius:var(--r-md)}@media (max-width: 1024px){.profile-drawer{width:100%}.landing-strip,.metrics-band,.outcomes-grid{grid-template-columns:repeat(2,1fr)}.visual-grid{grid-template-columns:1fr}.module-rail{grid-template-columns:repeat(3,1fr)}.roi-grid,.landing-cta-inner{grid-template-columns:1fr}.landing-cta-actions{justify-content:flex-start}}@media (max-width: 720px){.landing-strip,.metrics-band,.outcomes-grid{grid-template-columns:1fr}.module-rail{grid-template-columns:1fr 1fr}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.landing-nav{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:hsl(var(--background) / .88)!important}.landing-nav-links a{transition:color var(--t-fast)}.hero{padding:96px var(--s6) var(--s10);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:900px;height:600px;border-radius:50%;background:radial-gradient(ellipse,hsl(var(--primary) / .1) 0%,transparent 65%);pointer-events:none}.hero-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 14px;border-radius:var(--r-full);background:hsl(var(--accent-bg));border:1px solid hsl(var(--primary) / .3);color:hsl(var(--primary));font-size:.75rem;font-weight:600;margin-bottom:var(--s5)}.hero-pill .live-dot{width:7px;height:7px;border-radius:50%;background:hsl(var(--safe));box-shadow:0 0 0 3px hsl(var(--safe) / .22);animation:livePulse 2s ease-in-out infinite}@keyframes livePulse{0%,to{box-shadow:0 0 0 3px hsl(var(--safe) / .22)}50%{box-shadow:0 0 0 7px hsl(var(--safe) / .06)}}.hero-title{font-size:clamp(2.3rem,5.5vw,3.75rem);font-weight:800;letter-spacing:-.045em;line-height:1.04}.hero-title .hl{color:hsl(var(--primary))}.hero-sub{font-size:1.0625rem;line-height:1.65;color:hsl(var(--muted-foreground));max-width:600px;margin:0 auto var(--s8)}.btn-lg{padding:11px 22px;font-size:.9375rem;font-weight:600}.section-blue,[data-theme=light] .section-blue{background:#0b1020;color:#fff}.section-blue .section-tag,.section-blue .story-tag{color:#ffffffeb}.section-blue .story-tag .tag-dot{background:#fffffff2}.section-blue h2{color:#fff}.section-blue p{color:#ffffffd9}.section-blue .story-check-list li{color:#ffffffeb}.section-blue .section-header p{color:#ffffffd9}.section-blue .hiw-step{background:#ffffff24;border-color:#ffffff52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px #0000001a}.section-blue .hiw-step:hover{border-color:#ffffff8c;background:#ffffff2e}.section-blue .hiw-step p{color:#ffffffe0}.section-blue .hiw-step-num{background:#ffffff2e;border-color:#ffffff4d;color:#fff}.section-blue .hiw-mini-ui{background:#ffffff0f;border-color:#ffffff24}.section-blue .feat-deep{background:#ffffff24;border-color:#ffffff52;box-shadow:0 4px 14px #0000001a}.section-blue .feat-deep:hover{border-color:#ffffff8c;background:#ffffff2e}.section-blue .feat-deep p{color:#ffffffe0}.section-blue .feat-deep-icon{background:#ffffff2e;border-color:#ffffff4d;color:#fff}.section-blue .feat-deep-badge{background:#fff3;color:#fff}.section-blue .btn-primary{background:#fff;color:hsl(var(--primary));border-color:#fff}.section-blue .btn-primary:hover{background:#ffffffeb}.section-blue .btn-ghost{border-color:#ffffff73;color:#fff}.section-blue .btn-ghost:hover{background:#ffffff1f;border-color:#ffffffb3}.section-blue .final-trust{color:#ffffffd9}.section-blue .story-check-list li:before{background-color:#ffffff2e;border-color:#ffffff59;background-image:url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.proof-band{border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));background:hsl(var(--card-muted));padding:var(--s8) var(--s6)}.proof-band-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);align-items:center}.proof-stat{text-align:center;padding:var(--s4);border-right:1px solid hsl(var(--border))}.proof-stat:last-child{border-right:none}.proof-stat .num{display:block;font-size:2rem;font-weight:700;letter-spacing:-.03em;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.proof-stat .num .unit{font-size:1.1rem;color:hsl(var(--primary))}.proof-stat .label{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-top:3px;display:block}@media (max-width: 720px){.proof-band-inner{grid-template-columns:repeat(2,1fr)}.proof-stat{border-right:none;border-bottom:1px solid hsl(var(--border))}.proof-stat:nth-child(3),.proof-stat:nth-child(4){border-bottom:none}}.testimonial-row{max-width:1100px;margin:var(--s8) auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);padding:0 var(--s6)}.testimonial{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-lg);padding:var(--s5)}.testimonial q{display:block;font-size:.9rem;line-height:1.6;color:hsl(var(--foreground));margin-bottom:var(--s3);quotes:none}.testimonial-author{display:flex;align-items:center;gap:var(--s3)}.testimonial-avatar{width:32px;height:32px;border-radius:50%;background:hsl(var(--accent-bg));border:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:hsl(var(--primary));flex-shrink:0}.testimonial-name{font-size:.8125rem;font-weight:600}.testimonial-org{font-size:.75rem;color:hsl(var(--muted-foreground))}@media (max-width: 900px){.testimonial-row{grid-template-columns:1fr}}.story-stacked{padding:var(--s16) var(--s6)}.story-stacked-inner{max-width:1200px;margin:0 auto}.story-stacked-text{max-width:680px;margin:0 auto var(--s10);text-align:center}.story-tag{display:inline-flex;align-items:center;gap:5px;font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--primary));margin-bottom:var(--s3)}.story-tag .tag-dot{width:5px;height:5px;border-radius:50%;background:hsl(var(--primary))}.story-stacked-text h2{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:800;letter-spacing:-.035em;line-height:1.15;margin:0 0 var(--s4);color:inherit}.story-stacked-text p{font-size:.9375rem;line-height:1.7;color:hsl(var(--muted-foreground));margin:0 0 var(--s5)}.story-check-list{list-style:none;padding:0;margin:0 0 var(--s6);display:flex;flex-direction:column;gap:var(--s2);text-align:left}.story-check-list li{display:flex;align-items:flex-start;gap:var(--s2);font-size:.875rem;color:hsl(var(--foreground))}.story-check-list li:before{content:"";width:16px;height:16px;flex-shrink:0;margin-top:1px;border-radius:50%;background:hsl(var(--safe) / .15) url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 6l3 3 5-5' stroke='%2322C55E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;border:1px solid hsl(var(--safe) / .35)}.section-blue .story-check-list li{color:#dce0e5}.section-blue .story-check-list li:before{background-color:hsl(var(--safe) / .2)}.story-stacked-visual{max-width:1080px;margin:0 auto;border-radius:var(--r-xl);overflow:hidden;border:1px solid hsl(var(--border));box-shadow:0 24px 64px #0000002e}.section-blue .story-stacked-visual{border-color:#fff3;box-shadow:0 24px 80px #0006,0 0 0 1px #ffffff1a}.sv-bar{background:#1a1d26;border-bottom:1px solid rgba(255,255,255,.08);padding:9px 14px;display:flex;align-items:center;gap:6px;flex-shrink:0}[data-theme=light] .sv-bar{background:#f0f1f3;border-bottom:1px solid rgba(0,0,0,.08)}.sv-bar .d{width:9px;height:9px;border-radius:50%}.sv-bar .url{margin-left:10px;font-size:.6875rem;font-family:var(--font-mono);color:#ffffff59}[data-theme=light] .sv-bar .url{color:#0006}.sv-body{padding:var(--s4);background:#111318}[data-theme=light] .sv-body{background:#f7f8fa}.section-rule{border:none;border-top:1px solid hsl(var(--border));margin:0}.hiw-outer{width:100%}.hiw-section{max-width:1100px;margin:0 auto;padding:var(--s16) var(--s6)}.section-header{text-align:center;margin-bottom:var(--s12)}.section-tag{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:hsl(var(--primary));margin-bottom:var(--s2)}.section-header h2{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:800;letter-spacing:-.035em;margin:0 0 var(--s3)}.section-header p{color:hsl(var(--muted-foreground));font-size:.9375rem;line-height:1.6;max-width:520px;margin:0 auto}.hiw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);position:relative}.hiw-steps:before{content:"";position:absolute;top:20px;left:calc(33.33% - 36px);right:calc(33.33% - 36px);height:1px;background:hsl(var(--primary) / .35);pointer-events:none}.hiw-step{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-xl);padding:var(--s6);transition:border-color var(--t-base)}.hiw-step:hover{border-color:hsl(var(--primary) / .45)}.hiw-step-num{width:40px;height:40px;border-radius:50%;background:hsl(var(--accent-bg));border:1px solid hsl(var(--primary) / .3);color:hsl(var(--primary));font-weight:700;font-size:.9375rem;display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4)}.hiw-step h3{font-size:1rem;font-weight:700;margin:0 0 var(--s2)}.hiw-step p{font-size:.875rem;color:hsl(var(--muted-foreground));line-height:1.55;margin:0 0 var(--s4)}.hiw-mini-ui{background:hsl(var(--card-muted));border:1px solid hsl(var(--border));border-radius:var(--r-md);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2)}.hiw-mini-row{height:10px;border-radius:4px;background:hsl(var(--muted))}.hiw-mini-row.accent{background:hsl(var(--primary) / .45);width:70%}.hiw-mini-row.safe{background:hsl(var(--safe) / .45);width:55%}@media (max-width: 720px){.hiw-steps{grid-template-columns:1fr}.hiw-steps:before{display:none}}.feat-section{max-width:1100px;margin:0 auto;padding:var(--s12) var(--s6) var(--s16)}.feat-deep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}.feat-deep{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-xl);padding:var(--s6);transition:border-color var(--t-base),background var(--t-base)}.feat-deep:hover{border-color:hsl(var(--primary) / .4);background:hsl(var(--card-muted))}.feat-deep-icon{width:40px;height:40px;border-radius:var(--r-md);background:hsl(var(--accent-bg));border:1px solid hsl(var(--primary) / .25);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4);flex-shrink:0}.feat-deep h3{font-size:.9375rem;font-weight:700;margin:0 0 var(--s2)}.feat-deep p{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.55;margin:0}.feat-deep-badge{display:inline-flex;align-items:center;gap:4px;margin-top:var(--s3);padding:2px 8px;border-radius:var(--r-full);background:hsl(var(--primary) / .1);color:hsl(var(--primary));font-size:.6875rem;font-weight:600}@media (max-width: 900px){.feat-deep-grid{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.feat-deep-grid{grid-template-columns:1fr}}.final-cta-section{padding:var(--s16) var(--s6)}.final-cta-inner{max-width:900px;margin:0 auto;border-radius:var(--r-xl);padding:var(--s16) var(--s10);text-align:center;position:relative;overflow:hidden}.final-cta-inner:before{content:"";position:absolute;top:-100px;left:50%;transform:translate(-50%);width:700px;height:500px;border-radius:50%;background:radial-gradient(ellipse,hsl(217 91% 60% / .18),transparent 65%);pointer-events:none}.final-cta-inner h2{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.035em;margin:0 0 var(--s3);position:relative;color:inherit}.final-cta-inner p{font-size:1rem;line-height:1.6;max-width:500px;margin:0 auto var(--s8);position:relative}.final-cta-actions{display:flex;gap:var(--s3);justify-content:center;flex-wrap:wrap;position:relative}.final-trust{margin-top:var(--s5);font-size:.8125rem;display:flex;gap:var(--s5);justify-content:center;flex-wrap:wrap}.final-trust span{display:inline-flex;align-items:center;gap:5px}.final-trust .dot-safe{width:5px;height:5px;border-radius:50%;background:hsl(var(--safe))}:root{--landing-max-w: 1240px;--landing-pad-x: 20px}@media (min-width: 768px){:root{--landing-pad-x: 40px}}@media (min-width: 1440px){:root{--landing-pad-x: 72px}}.landing-nav{padding:var(--s3) var(--landing-pad-x)}.hero{padding:96px var(--landing-pad-x) var(--s10);max-width:var(--landing-max-w)}.hero-preview,.testimonial-row{max-width:var(--landing-max-w);padding:0 var(--landing-pad-x)}.story-stacked{padding:var(--s16) var(--landing-pad-x)}.story-stacked-inner{max-width:var(--landing-max-w)}.hiw-section{max-width:var(--landing-max-w);padding:var(--s16) var(--landing-pad-x)}.feat-section{max-width:var(--landing-max-w);padding:var(--s12) var(--landing-pad-x) var(--s16)}.feat-section>div{max-width:100%;padding:var(--s16) 0}.final-cta-section{padding:var(--s16) var(--landing-pad-x)}.landing-footer{padding:var(--s6) var(--landing-pad-x)}@media (max-width: 900px){.hero-preview{padding:0 var(--landing-pad-x)}}@media (max-width: 560px){.hero-preview{padding:0 var(--landing-pad-x)}}.nav-as-link{background:transparent;border:none;padding:0;font:inherit;cursor:pointer;color:inherit}.nav-as-link:hover{color:hsl(var(--primary))}.demo-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c18b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--s4);animation:demoFade .18s ease}[data-theme=light] .demo-modal-backdrop{background:#0f172a8c}@keyframes demoRise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.demo-modal{position:relative;width:min(880px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:16px;padding:36px 40px 28px;animation:demoRise .22s cubic-bezier(.2,.7,.2,1);outline:none}[data-theme=dark] .demo-modal{background:#101013;border-color:#2c2c30}.demo-modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:8px;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));cursor:pointer;transition:all var(--t-fast)}.demo-modal-close:hover{color:hsl(var(--foreground));background:hsl(var(--accent-bg))}.demo-modal-head{text-align:center;margin-bottom:28px}.demo-modal-pill{display:inline-flex;align-items:center;gap:8px;background:hsl(var(--primary) / .12);color:hsl(var(--primary));border:1px solid hsl(var(--primary) / .28);font-size:.75rem;font-weight:600;padding:5px 12px;border-radius:var(--r-full);letter-spacing:.01em;margin-bottom:16px}.demo-modal-pill .live-dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--safe));box-shadow:0 0 0 3px hsl(var(--safe) / .18);animation:pulseLive 1.6s ease-in-out infinite}@keyframes pulseLive{0%,to{box-shadow:0 0 0 3px hsl(var(--safe) / .18)}50%{box-shadow:0 0 0 6px hsl(var(--safe) / .05)}}.demo-modal-head h2{font-size:1.625rem;letter-spacing:-.02em;font-weight:700;margin:0 0 10px}.demo-modal-head p{color:hsl(var(--muted-foreground));font-size:.9375rem;line-height:1.55;max-width:560px;margin:0 auto}.demo-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}@media (max-width: 720px){.demo-modal{padding:28px 22px 20px}.demo-options{grid-template-columns:1fr}}.demo-option{position:relative;text-align:left;background:hsl(var(--card-muted));border:1px solid hsl(var(--border));border-radius:12px;padding:22px;cursor:pointer;display:flex;flex-direction:column;gap:14px;transition:all var(--t-base);color:inherit;font:inherit}.demo-option:hover,.demo-option:focus-visible{border-color:hsl(var(--primary));background:hsl(var(--primary) / .06);outline:none}.demo-option:hover .demo-option-arrow,.demo-option:focus-visible .demo-option-arrow{transform:translate(4px);color:hsl(var(--primary))}.demo-option-icon{width:40px;height:40px;border-radius:10px;background:hsl(var(--primary) / .14);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center}.demo-option-tag{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:700;margin-bottom:4px}.demo-option-body h3{margin:0 0 6px;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em}.demo-option-body p{margin:0 0 12px;font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.55}.demo-option-body ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.demo-option-body li{font-size:.75rem;color:hsl(var(--foreground));display:flex;gap:8px;align-items:flex-start}.demo-option-body li:before{content:"✓";color:hsl(var(--primary));font-weight:700;flex-shrink:0}.demo-option-arrow{position:absolute;top:22px;right:22px;color:hsl(var(--muted-foreground));font-size:1rem;transition:transform var(--t-fast),color var(--t-fast)}.demo-modal-foot{display:flex;justify-content:center;gap:var(--s5);flex-wrap:wrap;font-size:.75rem;color:hsl(var(--muted-foreground));padding-top:16px;border-top:1px solid hsl(var(--border))}.demo-modal-foot span{display:inline-flex;align-items:center;gap:6px}.demo-modal-foot .dot-safe{width:5px;height:5px;border-radius:50%;background:hsl(var(--safe))}.demo-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));border-radius:var(--r-full);font-size:.75rem;font-weight:600;padding:4px 12px;cursor:pointer;margin-bottom:16px;transition:all var(--t-fast)}.demo-back:hover{color:hsl(var(--foreground));border-color:hsl(var(--border-strong))}.upload-zone-wrap{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.upload-zone{position:relative;display:block;border:1.5px dashed hsl(var(--border-strong));border-radius:14px;padding:36px 24px;background:hsl(var(--card-muted));cursor:pointer;transition:all var(--t-base)}.upload-zone:hover,.upload-zone.hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .06)}.upload-zone.has-files{border-style:solid;border-color:hsl(var(--primary) / .4)}.upload-zone-inner{text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-icon{width:52px;height:52px;background:hsl(var(--primary) / .14);color:hsl(var(--primary));border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.upload-headline{font-size:1rem;font-weight:700;letter-spacing:-.01em}.upload-sub{font-size:.8125rem;color:hsl(var(--muted-foreground))}.upload-sub .link{color:hsl(var(--primary));font-weight:600;text-decoration:underline;text-underline-offset:2px}.upload-formats{margin-top:14px;display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.format-pill{font-family:var(--font-mono);font-size:.6875rem;background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));padding:3px 9px;border-radius:var(--r-full)}.upload-staged{border:1px solid hsl(var(--border));border-radius:12px;padding:16px 18px;background:hsl(var(--card-muted))}.upload-staged-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.8125rem;font-weight:600;margin-bottom:10px}.upload-staged-head .link{background:transparent;border:none;color:hsl(var(--primary));font-weight:600;cursor:pointer;font-size:.75rem}.upload-staged ul{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.upload-staged li{display:flex;justify-content:space-between;font-size:.75rem;font-family:var(--font-mono);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--r-md);padding:6px 10px}.upload-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.upload-file-size{color:hsl(var(--muted-foreground))}.upload-notice{background:hsl(var(--primary) / .08);border:1px solid hsl(var(--primary) / .22);border-radius:10px;padding:10px 14px;font-size:.8125rem;color:hsl(var(--foreground));margin-bottom:12px}.gis-canvas--real .leaflet-control-zoom{margin-left:var(--s4)!important;margin-bottom:var(--s4)!important}.gis-canvas--real .leaflet-control-attribution{margin-bottom:4px!important}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:hsl(var(--background) / .85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-loading-spinner{width:32px;height:32px;border:2.5px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.map-loading-text{font-size:.875rem;font-weight:600;letter-spacing:-.01em}.map-loading-sub{font-size:.75rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono)}.map-loading--error .map-loading-text{color:hsl(var(--danger))}.gis-layer-control{position:absolute;top:var(--s4);left:var(--s4);width:268px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;z-index:510;overflow:hidden;box-shadow:0 4px 12px #080c182e}[data-theme=dark] .gis-layer-control{background:#131316eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gis-layer-control.collapsed{width:200px}.gis-layer-control-head{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-bottom:1px solid hsl(var(--border));-webkit-user-select:none;user-select:none}.gis-layer-control.collapsed .gis-layer-control-head{border-bottom:none}.gis-lc-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground))}.gis-lc-meta{font-size:.75rem;font-weight:600;margin-top:2px;color:hsl(var(--foreground));font-family:var(--font-mono)}.gis-lc-collapse{background:transparent;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.gis-layer-control-body{max-height:calc(100vh - 220px);overflow-y:auto;padding:6px 6px 10px}.gis-lc-section{padding:6px 6px 4px}.gis-lc-section-head{display:flex;justify-content:space-between;align-items:center;padding:6px 6px 4px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:hsl(var(--muted-foreground))}.gis-lc-bulk{display:flex;gap:4px}.gis-lc-bulk button{background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:.625rem;font-weight:600;padding:1px 7px;border-radius:var(--r-full);cursor:pointer}.gis-lc-bulk button:hover{color:hsl(var(--primary));border-color:hsl(var(--primary) / .4)}.gis-layer-toggle{display:flex;align-items:center;gap:9px;width:100%;padding:6px 8px;border-radius:8px;background:transparent;border:1px solid transparent;color:hsl(var(--muted-foreground));cursor:pointer;font:inherit;font-size:.8125rem;text-align:left;transition:all var(--t-fast)}.gis-layer-toggle:hover{background:hsl(var(--accent-bg));color:hsl(var(--foreground))}.gis-layer-toggle.on{color:hsl(var(--foreground));background:hsl(var(--card-muted))}.gis-lt-check{width:18px;height:18px;border-radius:5px;background:hsl(var(--card));border:1.5px solid hsl(var(--border-strong));display:flex;align-items:center;justify-content:center;font-size:.75rem;color:hsl(var(--primary));font-weight:800;flex-shrink:0}.gis-layer-toggle.on .gis-lt-check{background:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff}.gis-lt-swatch{display:flex;align-items:center;justify-content:center;width:22px}.gis-pipe-swatch{display:block;width:22px;border-radius:1px}.gis-asset-swatch{display:block;width:12px;height:12px;border-radius:50%}.gis-asset-swatch.sq{border-radius:3px}.gis-lt-label{flex:1;font-weight:500}.gis-lt-count{font-family:var(--font-mono);font-size:.6875rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.gis-lc-foot{margin:8px 6px 0;padding:10px 8px 4px;border-top:1px solid hsl(var(--border));display:flex;justify-content:space-between;font-size:.75rem}.gis-lc-foot span{color:hsl(var(--muted-foreground));display:block}.gis-lc-foot strong{font-family:var(--font-mono);font-weight:700}.gis-legend{position:absolute;left:var(--s4);bottom:var(--s4);width:220px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:12px 14px;z-index:500;font-size:.75rem;box-shadow:0 4px 12px #080c182e}[data-theme=dark] .gis-legend{background:#131316eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gis-legend-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin-bottom:8px}.gis-legend-section{font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:700;margin-top:10px;margin-bottom:4px}.gis-legend-section:first-of-type{margin-top:0}.gis-legend-row{display:flex;align-items:center;gap:9px;padding:3px 0}.gis-legend-line{display:block;width:22px;border-radius:1px}.gis-legend-symbol{display:flex;align-items:center;justify-content:center;width:22px}.gis-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.gis-stat-badge{position:absolute;top:var(--s4);right:var(--s4);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:10px 14px;z-index:500;min-width:200px;display:flex;flex-direction:column;gap:4px;box-shadow:0 4px 12px #080c182e}[data-theme=dark] .gis-stat-badge{background:#131316eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gis-stat-row{display:flex;justify-content:space-between;font-size:.75rem}.gis-stat-row:first-child{padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid hsl(var(--border))}.gis-stat-row:first-child strong{font-size:.875rem}.gis-stat-row span{color:hsl(var(--muted-foreground))}.gis-stat-row strong{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.aw-marker{background:transparent!important;border:none!important}.aw-asset-marker{position:relative;display:flex;align-items:center;justify-content:center}.aw-tank .aw-tank-shell{width:32px;height:32px;background:hsl(var(--background));border:2px solid var(--ac);border-radius:6px;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 3px var(--lc, var(--ac))}.aw-tank .aw-tank-fill{position:absolute;left:0;right:0;bottom:0;background:var(--lc, var(--ac));opacity:.35;transition:height .32s ease}.aw-tank .aw-tank-label{position:relative;font-family:var(--font-mono);font-weight:800;font-size:10px;color:var(--ac);padding-bottom:4px;text-shadow:0 0 4px hsl(var(--background))}.aw-prv,.aw-mv{filter:drop-shadow(0 0 1px rgba(0,0,0,.45))}.aw-status-dot{position:absolute;width:8px;height:8px;border-radius:50%;right:-2px;top:-2px;border:1.5px solid hsl(var(--background))}.aw-sensor{width:18px;height:18px}.aw-sensor .aw-sensor-dot{position:relative;width:11px;height:11px;border-radius:50%;background:var(--ac);border:2px solid #fff;box-shadow:0 1px 2px #00000059;z-index:2}.aw-sensor.is-warn .aw-sensor-dot,.aw-sensor.is-alert .aw-sensor-dot{box-shadow:0 0 0 2.5px var(--sc),0 1px 3px #0006}.aw-sensor .aw-sensor-pulse{display:none}@keyframes sensorPulse{0%{transform:scale(.6);opacity:.6}to{transform:scale(1.6);opacity:0}}.aw-leak-marker{position:relative;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.aw-leak-marker.fixed{opacity:.55}.aw-leak-marker .aw-leak-pulse{display:none}.aw-leak-marker svg{position:relative;z-index:2}.leaflet-tooltip{background:hsl(var(--popover))!important;border:1px solid hsl(var(--border))!important;color:hsl(var(--foreground))!important;font-family:var(--font)!important;font-size:.75rem!important;font-weight:600!important;padding:4px 9px!important;box-shadow:0 4px 10px #0003!important;border-radius:6px!important}.leaflet-tooltip-top:before{border-top-color:hsl(var(--border))!important}.sp-section-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:700;margin-bottom:6px}.aw-level-bar{height:8px;border-radius:4px;background:hsl(var(--muted));overflow:hidden;margin:6px 0 10px}.aw-level-fill{height:100%;transition:width .25s ease}.aw-sparkline{display:block;width:100%;height:60px;margin:6px 0 10px}.gis-canvas--real~.side-panel{width:410px}@media (max-width: 900px){.gis-layer-control{width:220px}.gis-stat-badge{display:none}}.demo-hub{min-height:100vh;background:radial-gradient(circle at 20% -10%,hsl(var(--primary) / .18),transparent 50%),radial-gradient(circle at 90% 110%,hsl(217 91% 60% / .12),transparent 50%),hsl(var(--background));display:flex;flex-direction:column;align-items:center;padding:28px 32px 56px}.demo-hub-nav{width:100%;max-width:1180px;display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:48px;border-bottom:1px solid hsl(var(--border))}.demo-hub-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;letter-spacing:-.015em}.demo-hub-brand b{color:hsl(var(--primary));font-weight:700}.demo-hub-nav-meta{display:flex;align-items:center;gap:12px}.demo-hub-pill{display:inline-flex;align-items:center;gap:8px;background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));padding:5px 14px;border-radius:var(--r-full);font-size:.75rem;font-weight:600}.demo-hub-head{width:100%;max-width:880px;text-align:center;margin-bottom:48px}.demo-hub-eyebrow{font-size:.6875rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:hsl(var(--primary));margin-bottom:14px}.demo-hub-head h1{font-size:2.5rem;letter-spacing:-.03em;font-weight:700;margin:0 0 16px;line-height:1.1}.demo-hub-head p{color:hsl(var(--muted-foreground));font-size:1.0625rem;line-height:1.6;max-width:640px;margin:0 auto}.demo-back-link{display:inline-flex;align-items:center;gap:6px;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.demo-back-link:hover{color:hsl(var(--primary))}.demo-hub-options{width:100%;max-width:1080px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:48px}@media (max-width: 880px){.demo-hub-options{grid-template-columns:1fr}.demo-hub-head h1{font-size:1.875rem}}.demo-hub-card{position:relative;text-align:left;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:18px;padding:0;cursor:pointer;overflow:hidden;transition:transform var(--t-base),border-color var(--t-base),box-shadow var(--t-base);color:inherit;font:inherit;box-shadow:0 1px 2px #080c180a,0 8px 24px #080c180a}[data-theme=dark] .demo-hub-card{background:#101013;box-shadow:0 1px #ffffff0a,0 12px 32px #00000059}.demo-hub-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,hsl(var(--primary) / .04),transparent 50%);opacity:0;transition:opacity var(--t-base)}.demo-hub-card:hover,.demo-hub-card:focus-visible{border-color:hsl(var(--primary));transform:translateY(-2px);box-shadow:0 4px 8px #080c180f,0 20px 48px #1d4ed81f;outline:none}.demo-hub-card:hover:before,.demo-hub-card:focus-visible:before{opacity:1}.demo-hub-card.primary{background:linear-gradient(160deg,hsl(var(--primary) / .05),hsl(var(--card)) 55%);border-color:hsl(var(--primary) / .4)}[data-theme=dark] .demo-hub-card.primary{background:linear-gradient(160deg,hsl(var(--primary) / .18),#101013 55%)}.demo-hub-card-inner{position:relative;padding:28px 28px 24px;display:flex;flex-direction:column;gap:16px;min-height:100%}.demo-hub-card-head{display:flex;justify-content:space-between;align-items:center}.demo-hub-card-icon{width:52px;height:52px;border-radius:14px;background:hsl(var(--primary) / .14);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center}.demo-hub-card-icon.alt{background:hsl(var(--warning) / .16);color:hsl(var(--warning))}.demo-hub-card-tag{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));background:hsl(var(--card-muted));padding:4px 10px;border-radius:var(--r-full);border:1px solid hsl(var(--border))}.demo-hub-card h2{font-size:1.5rem;letter-spacing:-.02em;font-weight:700;margin:4px 0 0}.demo-hub-card>.demo-hub-card-inner>p{color:hsl(var(--muted-foreground));font-size:.9375rem;line-height:1.55;margin:0}.demo-hub-card-stats{list-style:none;margin:4px 0;padding:18px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;border-top:1px solid hsl(var(--border))}.demo-hub-card-stats li{display:flex;flex-direction:column;gap:2px}.demo-hub-card-stats strong{font-size:1.125rem;font-weight:700;font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.demo-hub-card-stats span{font-size:.75rem;color:hsl(var(--muted-foreground))}.demo-hub-card-cta{margin-top:auto;display:inline-flex;align-items:center;gap:8px;color:hsl(var(--primary));font-size:.875rem;font-weight:600;padding-top:10px;transition:gap var(--t-fast)}.demo-hub-card:hover .demo-hub-card-cta{gap:14px}.demo-hub-foot{width:100%;max-width:1080px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px 28px;border-radius:14px;background:hsl(var(--card));border:1px solid hsl(var(--border));font-size:.75rem}@media (max-width: 880px){.demo-hub-foot{grid-template-columns:1fr}}.demo-hub-foot-cell{display:flex;flex-direction:column;gap:2px}.demo-hub-foot-cell span{color:hsl(var(--muted-foreground))}.demo-hub-foot-cell strong{font-size:.8125rem;font-weight:600}.demo-upload-grid{width:100%;max-width:1080px;display:grid;grid-template-columns:1.6fr 1fr;gap:22px}@media (max-width: 880px){.demo-upload-grid{grid-template-columns:1fr}}.demo-upload-main{display:flex;flex-direction:column;gap:18px}.demo-upload-zone{position:relative;display:block;border:1.5px dashed hsl(var(--border-strong));border-radius:18px;padding:56px 32px;background:hsl(var(--card));cursor:pointer;transition:all var(--t-base)}.demo-upload-zone.hover,.demo-upload-zone:hover{border-color:hsl(var(--primary));background:hsl(var(--primary) / .06)}.demo-upload-zone.has-files{border-style:solid;border-color:hsl(var(--primary) / .45);padding:36px 32px}.demo-upload-zone-inner{text-align:center;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:10px}.demo-upload-icon{width:64px;height:64px;background:hsl(var(--primary) / .12);color:hsl(var(--primary));border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.demo-upload-headline{font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.demo-upload-sub{font-size:.875rem;color:hsl(var(--muted-foreground))}.demo-upload-sub .link{color:hsl(var(--primary));font-weight:600;text-decoration:underline;text-underline-offset:2px}.demo-upload-formats{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.demo-upload-formats span{font-family:var(--font-mono);font-size:.6875rem;background:hsl(var(--card-muted));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));padding:4px 10px;border-radius:var(--r-full)}.demo-upload-staged{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:18px;padding:22px 24px}.demo-upload-staged-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;font-size:.875rem;font-weight:600}.demo-upload-staged-head .link{background:transparent;border:none;color:hsl(var(--primary));font-weight:600;cursor:pointer;font-size:.8125rem}.demo-upload-staged ul{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto}.demo-upload-staged li{display:flex;align-items:center;gap:12px;padding:8px 12px;background:hsl(var(--card-muted));border:1px solid hsl(var(--border));border-radius:10px;font-size:.8125rem}.demo-upload-file-name{flex:1;font-family:var(--font-mono);font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-upload-file-size{color:hsl(var(--muted-foreground));font-family:var(--font-mono);font-size:.75rem}.demo-upload-file-remove{background:hsl(var(--danger-bg));border:1px solid hsl(var(--danger));color:hsl(var(--danger));font-size:1.125rem;font-weight:700;line-height:1;cursor:pointer;width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background var(--t-fast),color var(--t-fast)}.demo-upload-file-remove:hover{color:#fff;background:hsl(var(--danger))}.demo-upload-staged-foot{display:flex;gap:12px;flex-wrap:wrap}.demo-upload-staged-foot .btn-lg{padding:12px 22px}.demo-upload-badge{font-family:var(--font-mono);font-size:.625rem;font-weight:800;letter-spacing:.04em;padding:3px 8px;border-radius:4px;text-transform:uppercase}.demo-upload-badge.tone-shp{background:#3c83f62e;color:#3c83f6}.demo-upload-badge.tone-geo{background:#21c45d2e;color:#21c45d}.demo-upload-badge.tone-kml{background:#f59f0a2e;color:#f59f0a}.demo-upload-badge.tone-inp{background:#ad5cd62e;color:#ad5cd6}.demo-upload-badge.tone-zip{background:#8080802e;color:gray}.demo-upload-badge.tone-gen{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.demo-upload-side{display:flex;flex-direction:column;gap:14px}.demo-upload-side-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;padding:22px 24px}.demo-upload-side-card h3{margin:0 0 12px;font-size:.9375rem;font-weight:700;letter-spacing:-.01em}.demo-upload-side-card.subtle{background:hsl(var(--card-muted))}.demo-upload-side-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:.8125rem;color:hsl(var(--foreground))}.demo-upload-side-card li{display:flex;gap:8px;align-items:flex-start}.demo-upload-side-card li .bullet{width:5px;height:5px;border-radius:50%;background:hsl(var(--primary));margin-top:7px;flex-shrink:0}.demo-upload-side-card p{font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.6;margin:0}.ops-kpi-band{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-bottom:var(--s4)}@media (max-width: 1500px){.ops-kpi-band{grid-template-columns:repeat(4,1fr)}}@media (max-width: 760px){.ops-kpi-band{grid-template-columns:repeat(2,1fr)}}.ops-kpi{text-align:left;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:14px 16px 12px;cursor:pointer;font:inherit;color:inherit;transition:all var(--t-fast);position:relative;overflow:hidden}.ops-kpi:disabled{cursor:default}.ops-kpi:hover:not(:disabled){border-color:hsl(var(--primary) / .5);transform:translateY(-1px)}.ops-kpi-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:hsl(var(--muted-foreground));margin-bottom:4px}.ops-kpi-value{font-size:1.5rem;font-weight:700;font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:5px}.ops-kpi-unit{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:500;font-family:var(--font)}.ops-kpi-sub{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:2px}.ops-row{display:grid;gap:var(--s4);margin-bottom:var(--s4)}.ops-row-2{grid-template-columns:1.5fr 1fr}.ops-row-3{grid-template-columns:1fr 1fr 1fr}@media (max-width: 1200px){.ops-row-3{grid-template-columns:1fr 1fr}.ops-row-2{grid-template-columns:1fr}}@media (max-width: 760px){.ops-row-3{grid-template-columns:1fr}}.ops-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:18px 20px 20px;margin-bottom:var(--s4)}.ops-row .ops-card{margin-bottom:0}.ops-card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.ops-card-title{font-size:.9375rem;font-weight:700;letter-spacing:-.01em}.ops-card-sub{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:2px}.ops-class-bars{display:flex;flex-direction:column;gap:10px}.ops-class-row{display:grid;grid-template-columns:12px 1fr 110px;gap:12px;align-items:center}.ops-class-swatch{width:10px;height:10px;border-radius:3px}.ops-class-name{font-size:.8125rem;font-weight:600;margin-bottom:4px}.ops-class-bar{height:6px;background:hsl(var(--muted));border-radius:var(--r-full);overflow:hidden}.ops-class-fill{height:100%;border-radius:var(--r-full);opacity:.9;transition:width .28s ease}.ops-class-stat{text-align:right;display:flex;flex-direction:column}.ops-class-stat strong{font-family:var(--font-mono);font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}.ops-class-stat span{font-size:.6875rem;color:hsl(var(--muted-foreground))}.ops-age-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end;height:200px}.ops-age-cell{display:flex;flex-direction:column;gap:8px;height:100%}.ops-age-bar{flex:1;background:hsl(var(--muted));border-radius:6px;position:relative;overflow:hidden;display:flex;align-items:flex-end}.ops-age-fill{width:100%;border-radius:6px 6px 4px 4px;transition:height .32s ease}.ops-age-label{display:flex;justify-content:space-between;align-items:baseline;font-size:.6875rem}.ops-age-label span{color:hsl(var(--muted-foreground))}.ops-age-label strong{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums}.ops-zone-table{width:100%;border-collapse:collapse}.ops-zone-table th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:hsl(var(--muted-foreground));text-align:left;padding:6px 10px 10px;border-bottom:1px solid hsl(var(--border))}.ops-zone-table td{padding:12px 10px;border-bottom:1px solid hsl(var(--border));font-size:.875rem;vertical-align:middle}.ops-zone-table tbody tr{cursor:pointer;transition:background var(--t-fast)}.ops-zone-table tbody tr:hover{background:hsl(var(--accent-bg))}.ops-zone-table tr:last-child td{border-bottom:none}.ops-zone-code{font-family:var(--font-mono);font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:2px}.ops-zone-share{position:relative;height:22px;background:hsl(var(--muted));border-radius:6px;overflow:hidden;min-width:140px}.ops-zone-share-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,hsl(var(--primary) / .6),hsl(var(--primary)));border-radius:6px}.ops-zone-share span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:0 8px;font-size:.6875rem;font-family:var(--font-mono);font-weight:700;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}.ops-alert-list{display:flex;flex-direction:column;max-height:480px;overflow-y:auto;margin:-4px -6px}.ops-alert-empty{display:flex;align-items:center;gap:8px;padding:18px 6px;color:hsl(var(--muted-foreground));font-size:.8125rem}.ops-alert-empty .dot-safe{width:6px;height:6px;border-radius:50%;background:hsl(var(--safe))}.ops-alert{display:grid;grid-template-columns:14px 1fr 64px;gap:10px;align-items:start;padding:10px 8px;border-radius:8px;cursor:pointer;transition:background var(--t-fast)}.ops-alert:hover{background:hsl(var(--accent-bg))}.ops-alert-dot{width:8px;height:8px;border-radius:50%;margin-top:7px}.ops-alert.sev-critical .ops-alert-dot{background:hsl(var(--danger));box-shadow:0 0 0 3px hsl(var(--danger) / .18)}.ops-alert.sev-warning .ops-alert-dot{background:hsl(var(--warning));box-shadow:0 0 0 3px hsl(var(--warning) / .16)}.ops-alert.sev-info .ops-alert-dot{background:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .14)}.ops-alert-title{font-size:.8125rem;font-weight:600;letter-spacing:-.005em}.ops-alert-detail{font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:2px;line-height:1.4}.ops-alert-time{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);text-align:right;white-space:nowrap}.ops-reservoir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.ops-reservoir{border:1px solid hsl(var(--border));border-radius:12px;padding:14px 14px 12px;background:hsl(var(--card-muted));display:flex;flex-direction:column;gap:10px}.ops-reservoir-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ops-reservoir-name{font-size:.875rem;font-weight:700}.ops-reservoir-id{font-family:var(--font-mono);font-size:.6875rem;color:hsl(var(--muted-foreground));margin-top:2px}.ops-reservoir-gauge{position:relative;height:88px;border-radius:10px;background:hsl(var(--muted));overflow:hidden}.ops-reservoir-gauge-fill{position:absolute;left:0;right:0;bottom:0;opacity:.7;transition:height .32s ease}.ops-reservoir-gauge-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:800;font-size:1.125rem;color:hsl(var(--foreground));font-variant-numeric:tabular-nums;text-shadow:0 0 6px hsl(var(--background) / .4)}.ops-reservoir-meta{display:flex;justify-content:space-between;font-size:.6875rem;color:hsl(var(--muted-foreground));flex-wrap:wrap;gap:4px 8px}.ops-reservoir-meta strong{display:block;color:hsl(var(--foreground));font-family:var(--font-mono);font-weight:700;font-size:.8125rem}.ops-skeleton{display:flex;flex-direction:column;gap:16px}.ops-skel-band,.ops-skel-row{background:linear-gradient(90deg,hsl(var(--muted)) 0,hsl(var(--accent-bg)),hsl(var(--muted)));background-size:200% 100%;border-radius:12px;animation:skel 1.6s ease-in-out infinite}.ops-skel-band{height:80px}.ops-skel-row{height:260px}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}.alerts-filter-bar{display:flex;align-items:center;gap:6px;padding:12px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card-muted));border-radius:12px 12px 0 0}.alerts-filter{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font:inherit;font-size:.8125rem;font-weight:600;padding:6px 12px;border-radius:var(--r-full);cursor:pointer;transition:all var(--t-fast)}.alerts-filter:hover{color:hsl(var(--foreground));border-color:hsl(var(--border-strong))}.alerts-filter.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.alerts-filter-count{font-family:var(--font-mono);font-size:.6875rem;background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));padding:1px 7px;border-radius:var(--r-full)}.alerts-filter.active .alerts-filter-count{background:#ffffff2e;border-color:#ffffff38;color:hsl(var(--primary-foreground))}.alerts-table{width:100%;border-collapse:collapse}.alerts-table th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:hsl(var(--muted-foreground));text-align:left;padding:10px 18px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card))}.alerts-table td{padding:12px 18px;border-bottom:1px solid hsl(var(--border));font-size:.875rem;vertical-align:middle}.alerts-table tbody tr{cursor:pointer;transition:background var(--t-fast)}.alerts-table tbody tr:hover{background:hsl(var(--accent-bg))}.alerts-table tr:last-child td{border-bottom:none}.alerts-detail{font-size:.75rem;color:hsl(var(--muted-foreground));margin-top:2px}.alerts-empty{text-align:center!important;color:hsl(var(--muted-foreground));padding:30px!important;display:flex;align-items:center;justify-content:center;gap:8px}.alerts-empty .dot-safe{width:6px;height:6px;border-radius:50%;background:hsl(var(--safe));display:inline-block}.alerts-stat{position:relative;margin-bottom:0;overflow:hidden;padding:18px 22px 22px}.alerts-stat-label{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:600;text-transform:uppercase;letter-spacing:.04em}.alerts-stat-value{font-size:1.875rem;font-weight:800;font-family:var(--font-mono);margin:6px 0 4px;font-variant-numeric:tabular-nums}.alerts-stat-sub{font-size:.75rem;color:hsl(var(--muted-foreground))}.alerts-stat-stripe{position:absolute;inset:auto 0 0 0;height:3px}.sensors-kind{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600}.sensors-kind-dot{width:10px;height:10px;border-radius:50%}.nrw-zone-row{display:grid;grid-template-columns:1.4fr 1fr 64px;align-items:center;gap:16px;padding:14px 18px;border-bottom:1px solid hsl(var(--border));cursor:pointer}.nrw-zone-row:hover{background:hsl(var(--accent-bg))}.nrw-zone-row:last-child{border-bottom:none}.nrw-zone-name{font-weight:700;font-size:.875rem}.nrw-zone-meta{font-size:.75rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);margin-top:2px}.nrw-zone-bar{height:10px;background:hsl(var(--muted));border-radius:var(--r-full);overflow:hidden}.nrw-zone-bar-fill{height:100%;border-radius:var(--r-full);transition:width .28s ease}.nrw-zone-pct{font-family:var(--font-mono);font-weight:800;font-size:1rem;text-align:right;font-variant-numeric:tabular-nums}.nrw-insight{padding:10px 14px;border-radius:8px;font-size:.8125rem;line-height:1.55;border-left:3px solid}.nrw-insight.insight-crit{border-color:hsl(var(--danger));background:hsl(var(--danger-bg))}.nrw-insight.insight-warn{border-color:hsl(var(--warning));background:hsl(var(--warning-bg))}.nrw-insight.insight-info{border-color:hsl(var(--primary));background:hsl(var(--info-bg))}.nrw-balance{padding:8px 4px 4px}.nrw-balance-bar{display:flex;height:38px;border-radius:10px;overflow:hidden;border:1px solid hsl(var(--border));margin-bottom:12px}.nrw-balance-billed{background:linear-gradient(90deg,hsl(var(--primary) / .55),hsl(var(--primary)));color:#fff;display:flex;align-items:center;justify-content:flex-start;padding:0 14px;font-size:.75rem;font-weight:700;min-width:80px}.nrw-balance-loss{background:linear-gradient(90deg,hsl(var(--warning)),#f6a823);color:#fff;display:flex;align-items:center;justify-content:flex-end;padding:0 14px;font-size:.75rem;font-weight:700;min-width:80px}.nrw-balance-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;font-size:.75rem}.nrw-balance-foot span{color:hsl(var(--muted-foreground));display:block}.nrw-balance-foot strong{font-family:var(--font-mono);font-weight:700;font-size:.9375rem}.reports-eyebrow{font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:hsl(var(--muted-foreground));margin-bottom:12px}.reports-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-bottom:var(--s4)}@media (max-width: 800px){.reports-type-grid{grid-template-columns:1fr}}.reports-type-card{display:flex;align-items:flex-start;gap:14px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:14px;padding:18px 20px;cursor:pointer;font:inherit;text-align:left;color:inherit;transition:all var(--t-fast)}.reports-type-card:hover{border-color:hsl(var(--primary) / .4);transform:translateY(-1px)}.reports-type-card.selected{border-color:hsl(var(--primary));background:linear-gradient(180deg,hsl(var(--primary) / .07),hsl(var(--card)))}.reports-type-icon{width:40px;height:40px;border-radius:10px;background:hsl(var(--primary) / .12);color:hsl(var(--primary));display:flex;align-items:center;justify-content:center;flex-shrink:0}.reports-type-body h3{margin:0 0 4px;font-size:1rem;font-weight:700}.reports-type-body p{margin:0;font-size:.8125rem;color:hsl(var(--muted-foreground));line-height:1.5}.reports-config{display:flex;flex-wrap:wrap;gap:12px 18px;padding:14px 18px;border-top:1px solid hsl(var(--border));margin:14px -20px -20px;background:hsl(var(--card-muted))}.reports-config>div{display:flex;flex-direction:column;gap:4px}.reports-config span{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:700}.reports-config input,.reports-config select{background:hsl(var(--card));border:1px solid hsl(var(--border));color:hsl(var(--foreground));padding:7px 11px;border-radius:var(--r-md);font-family:inherit;font-size:.8125rem}.reports-section{padding:14px 0 16px;border-bottom:1px solid hsl(var(--border))}.reports-section:last-child{border-bottom:none}.reports-section h4{margin:0 0 8px;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:hsl(var(--muted-foreground))}.reports-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:.8125rem;gap:12px}.reports-row span{color:hsl(var(--muted-foreground))}.reports-row strong{font-family:var(--font-mono);font-weight:700;font-size:.8125rem;font-variant-numeric:tabular-nums}.reports-row.class-row span{color:hsl(var(--foreground))}.reports-mat-bar{height:5px;background:hsl(var(--muted));border-radius:var(--r-full);overflow:hidden;margin-top:4px}.reports-mat-bar div{height:100%;background:linear-gradient(90deg,hsl(var(--primary) / .6),hsl(var(--primary)));border-radius:var(--r-full)}.gis-lc-status .gis-lc-status-row{display:flex;justify-content:space-between;padding:4px 8px 6px;font-size:.6875rem}.gis-lc-status-row span{display:inline-flex;align-items:center;gap:5px;color:hsl(var(--muted-foreground))}.gis-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.gis-legend{display:none}.aw-popup .leaflet-popup-content-wrapper{background:hsl(var(--card))!important;border:1px solid hsl(var(--border))!important;border-radius:12px!important;padding:0!important;box-shadow:0 8px 24px #080c182e!important}.aw-popup .leaflet-popup-content{margin:0!important;font-family:var(--font);min-width:240px}.aw-popup .leaflet-popup-tip{background:hsl(var(--card))!important;border:1px solid hsl(var(--border))!important}[data-theme=dark] .aw-popup .leaflet-popup-content-wrapper,[data-theme=dark] .aw-popup .leaflet-popup-tip{background:#131316!important}.aw-pop{padding:14px 16px 12px}.aw-pop-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid hsl(var(--border));margin-bottom:10px}.aw-pop-swatch{width:12px;height:12px;border-radius:50%;flex-shrink:0}.aw-pop-swatch.sq{border-radius:3px}.aw-pop-swatch.tri{width:0;height:0;background:transparent!important;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid;border-bottom-color:inherit}.aw-pop-swatch.dia{transform:rotate(45deg);border-radius:2px}.aw-pop-swatch.dot{box-shadow:0 0 0 3px #ef44442e}.aw-pop-head-text{flex:1;min-width:0}.aw-pop-title{font-size:.875rem;font-weight:700;letter-spacing:-.005em}.aw-pop-sub{font-size:.6875rem;color:hsl(var(--muted-foreground));font-family:var(--font-mono);margin-top:2px}.aw-pop-pill{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:var(--r-full);background:hsl(var(--card-muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));flex-shrink:0}.aw-pop-pill--ok{background:hsl(var(--safe-bg));color:hsl(var(--safe));border-color:hsl(var(--safe) / .35)}.aw-pop-pill--warn{background:hsl(var(--warning-bg));color:hsl(var(--warning));border-color:hsl(var(--warning) / .35)}.aw-pop-pill--bad{background:hsl(var(--danger-bg));color:hsl(var(--danger));border-color:hsl(var(--danger) / .35)}.aw-pop-pill--muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.aw-pop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:8px}.aw-pop-grid div{display:flex;flex-direction:column;gap:2px}.aw-pop-grid span{font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:700}.aw-pop-grid strong{font-size:.8125rem;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.aw-pop-foot{font-size:.6875rem;color:hsl(var(--muted-foreground));padding-top:8px;border-top:1px dashed hsl(var(--border));text-align:center}.aw-pop-level{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:10px 0 12px;border-bottom:1px dashed hsl(var(--border));margin-bottom:10px}.aw-pop-level-label{grid-row:1;grid-column:1;font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));font-weight:700}.aw-pop-level-value{grid-row:1;grid-column:2;text-align:right;font-family:var(--font-mono);font-weight:800;font-size:1.25rem;font-variant-numeric:tabular-nums}.aw-pop-level-bar{grid-row:2;grid-column:1 / -1;height:6px;background:hsl(var(--muted));border-radius:var(--r-full);overflow:hidden}.aw-pop-level-bar div{height:100%;border-radius:var(--r-full);transition:width .32s ease}.gis-asset-swatch.tank{position:relative;display:inline-block;width:14px;height:14px;border-radius:3px;border:1.5px solid currentColor;background:hsl(var(--background));overflow:hidden}.gis-asset-swatch.tank .gis-asset-swatch-tank-fill{position:absolute;left:0;right:0;bottom:0;height:55%;background:currentColor;opacity:.35}.gis-asset-swatch.sensor{display:inline-block;width:9px;height:9px;border-radius:50%}.nrw-hero{padding:0;display:grid;grid-template-columns:1.4fr 1fr}@media (max-width: 900px){.nrw-hero{grid-template-columns:1fr}}.nrw-hero-inputs{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.nrw-hero-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nrw-hero-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nrw-hero-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:14px;border-top:1px solid hsl(var(--border))}.nrw-hero-zones>div{display:flex;flex-direction:column;gap:4px}.nrw-hero-zones-label{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.nrw-hero-zones strong{font-size:.875rem;font-weight:700}.nrw-hero-result{display:flex;flex-direction:column;justify-content:center;padding:24px;border-left:1px solid hsl(var(--border));position:relative}@media (max-width: 900px){.nrw-hero-result{border-left:none;border-top:1px solid hsl(var(--border))}}.nrw-hero-result:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.nrw-hero-result.tone-safe:before{background:hsl(var(--safe))}.nrw-hero-result.tone-warn:before{background:hsl(var(--warning))}.nrw-hero-result.tone-danger:before{background:hsl(var(--danger))}.nrw-hero-result-label{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.nrw-hero-result-value{font-family:var(--font-mono);font-size:3rem;font-weight:800;letter-spacing:-.02em;line-height:1;margin-top:8px}.nrw-hero-result-sub{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-top:10px}.leak-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617a8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:60;display:flex;align-items:center;justify-content:center;padding:32px 16px;animation:leak-modal-in .16s ease-out}.leak-modal{width:min(720px,100%);max-height:calc(100vh - 64px);background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:16px;box-shadow:0 30px 80px #00000073;display:flex;flex-direction:column;overflow:hidden}.leak-modal-head{padding:18px 24px;border-bottom:1px solid hsl(var(--border));display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.leak-modal-body{padding:8px 24px 24px;overflow-y:auto;flex:1}.leak-modal-foot{padding:14px 24px;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end;gap:8px;background:hsl(var(--card))}@keyframes leak-modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.leak-field-control input,.leak-field-control select,.leak-field-control textarea{width:100%;padding:9px 12px;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--r-md);color:hsl(var(--foreground));font-family:inherit;font-size:.875rem}.leak-field-control textarea{resize:vertical;min-height:70px}.leak-field-control input:focus,.leak-field-control select:focus,.leak-field-control textarea:focus{outline:none;border-color:hsl(var(--primary) / .6)}.leak-field-control input:disabled,.leak-field-control select:disabled,.leak-field-control textarea:disabled{opacity:.7;cursor:not-allowed}.demo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:demoFade .18s ease}@keyframes demoFade{0%{opacity:0}to{opacity:1}}.demo-modal{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 40px);overflow-y:auto;background:hsl(var(--card, 0 0% 100%));color:hsl(var(--foreground, 222 47% 11%));border:1px solid hsl(var(--border, 214 32% 91%));border-radius:16px;padding:28px 28px 24px;box-shadow:0 24px 60px -12px #00000059;animation:demoPop .2s ease}@keyframes demoPop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.demo-modal-close{position:absolute;top:14px;right:16px;width:32px;height:32px;border:none;background:transparent;font-size:24px;line-height:1;color:hsl(var(--muted-foreground, 215 16% 47%));cursor:pointer;border-radius:8px}.demo-modal-close:hover{background:hsl(var(--muted, 210 40% 96%))}.demo-modal-head h2{margin:0 0 6px;font-size:1.4rem;letter-spacing:-.02em}.demo-modal-head p{margin:0 0 18px;color:hsl(var(--muted-foreground, 215 16% 47%));font-size:.94rem;line-height:1.5}.demo-modal-form{display:flex;flex-direction:column;gap:14px}.demo-modal-form label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:600}.demo-modal-form label em{color:hsl(var(--primary, 221 83% 53%));font-style:normal}.demo-modal-form input,.demo-modal-form textarea{width:100%;padding:10px 12px;border:1px solid hsl(var(--border, 214 32% 91%));border-radius:9px;background:hsl(var(--background, 0 0% 100%));color:inherit;font:inherit;font-weight:400;resize:vertical}.demo-modal-form input:focus,.demo-modal-form textarea:focus{outline:none;border-color:hsl(var(--primary, 221 83% 53%));box-shadow:0 0 0 3px hsl(var(--primary, 221 83% 53%) / .15)}.demo-modal-form button[type=submit]{margin-top:4px;width:100%;justify-content:center}.demo-modal-error{padding:10px 12px;border-radius:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#b91c1c;font-size:.85rem;font-weight:500}.demo-modal-fine{margin:2px 0 0;font-size:.72rem;color:hsl(var(--muted-foreground, 215 16% 47%));font-weight:400;text-align:center}.demo-modal-done{text-align:center;padding:12px 4px 4px}.demo-modal-done h2{margin:8px 0 6px;font-size:1.35rem}.demo-modal-done p{margin:0 0 20px;color:hsl(var(--muted-foreground, 215 16% 47%));line-height:1.5}.demo-modal-check{width:56px;height:56px;margin:0 auto;border-radius:999px;background:#22c55e26;color:#16a34a;font-size:30px;display:flex;align-items:center;justify-content:center}.request-demo-wrap{max-width:520px;margin:0 auto;padding:8px 20px 64px}.request-demo-card{background:hsl(var(--card, 0 0% 100%));border:1px solid hsl(var(--border, 214 32% 91%));border-radius:16px;padding:28px;box-shadow:0 18px 48px -16px #00000038}.request-demo-done{text-align:center}.request-demo-done h2{margin:10px 0 6px;font-size:1.4rem;letter-spacing:-.02em}.request-demo-done p{margin:0 0 22px;color:hsl(var(--muted-foreground, 215 16% 47%));line-height:1.55}.request-demo-done .demo-modal-check{margin:0 auto}.gis-workspace{display:flex;flex-direction:column;flex:1;min-height:0;height:calc(100vh - 68px)}.gis-workspace .gis-canvas{flex:1;height:auto;min-height:0}.gis-canvas--nomap .gis-leaflet{background:linear-gradient(hsl(var(--border) / .5) 1px,transparent 1px) 0 0 / 28px 28px,linear-gradient(90deg,hsl(var(--border) / .5) 1px,transparent 1px) 0 0 / 28px 28px,hsl(var(--card-muted))}.gis-toolbar{display:flex;align-items:center;gap:10px;padding:7px 12px;background:hsl(var(--card));border-bottom:1px solid hsl(var(--border));flex-shrink:0}.gis-toolbar-group{display:flex;gap:3px}.gis-toolbar-spacer{flex:1}.gis-tool{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;color:hsl(var(--muted-foreground));border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.gis-tool:hover{background:hsl(var(--accent-bg));color:hsl(var(--foreground))}.gis-tool.active{background:hsl(var(--primary) / .12);color:hsl(var(--primary));border-color:hsl(var(--primary) / .4)}.gis-basemap-tabs{display:flex;background:hsl(var(--card-muted));border:1px solid hsl(var(--border));border-radius:var(--r-md);padding:2px;gap:2px}.gis-basemap-tab{padding:5px 12px;font-size:.8125rem;font-weight:500;border:none;background:transparent;color:hsl(var(--muted-foreground));border-radius:calc(var(--r-md) - 2px);cursor:pointer}.gis-basemap-tab.active{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a}.gis-simulate-btn{display:flex;align-items:center;gap:7px;padding:6px 14px;font-size:.8125rem;font-weight:600;border:1px solid hsl(var(--primary) / .4);background:hsl(var(--primary) / .1);color:hsl(var(--primary));border-radius:var(--r-md);cursor:pointer}.gis-simulate-btn:disabled{opacity:.7;cursor:default}.gis-sim-dot{width:8px;height:8px;border-radius:50%;background:hsl(var(--muted-foreground));flex-shrink:0}.sim-idle .gis-sim-dot{background:#94a3b8}.sim-running .gis-sim-dot{background:#38bdf8;animation:dangerPulse 1s ease-in-out infinite}.sim-success .gis-sim-dot{background:#22c55e}.sim-warning .gis-sim-dot{background:#f59e0b}.sim-failed .gis-sim-dot{background:#ef4444}.sim-outdated .gis-sim-dot{background:#a855f7}.gis-layer-control-body .gis-layer-toggle{display:flex;align-items:center;gap:9px;width:100%;padding:5px 8px;border-radius:8px;opacity:.5}.gis-layer-control-body .gis-layer-toggle:hover{background:hsl(var(--accent-bg));opacity:.85}.gis-layer-control-body .gis-layer-toggle.on{opacity:1}.gis-layer-control-body .gis-lt-swatch{width:24px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.gis-layer-control-body .gis-pipe-swatch{height:5px!important;border-radius:var(--r-full)}.gis-layer-control-body .gis-lt-label{flex:1;text-align:left;font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gis-layer-control-body .gis-lt-count{font-family:var(--font-mono);font-size:.6875rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.gis-canvas--sat .leaflet-marker-pane .aw-asset-marker,.gis-canvas--sat .leaflet-marker-pane .aw-leak-marker{filter:drop-shadow(0 0 3px rgba(0,0,0,.55))}.gis-ramp-legend{width:100%;margin-top:6px}.gis-ramp-bar{height:8px;border-radius:var(--r-full);border:1px solid hsl(var(--border))}.gis-ramp-labels{display:flex;justify-content:space-between;margin-top:3px;font-size:.625rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.gis-symbology-select{width:100%;padding:6px 8px;font-size:.8125rem;font-family:inherit;border:1px solid hsl(var(--border));background:hsl(var(--card-muted));color:hsl(var(--foreground));border-radius:var(--r-md);cursor:pointer}.gis-sim-strip{display:flex;align-items:center;gap:20px;padding:8px 16px;background:hsl(var(--card));border-top:1px solid hsl(var(--border));flex-shrink:0;font-size:.8125rem;overflow-x:auto}.gis-sim-state{display:flex;align-items:center;gap:8px;white-space:nowrap}.gis-sim-state strong{font-weight:600}.gis-sim-fields{display:flex;gap:20px;flex:1}.gis-sim-fields>div{display:flex;flex-direction:column;line-height:1.3;white-space:nowrap}.gis-sim-fields span{color:hsl(var(--muted-foreground));font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em}.gis-sim-fields strong{font-weight:600;font-variant-numeric:tabular-nums}.gis-sim-run{padding:7px 16px;font-size:.8125rem;font-weight:600;border:none;background:hsl(var(--primary));color:hsl(var(--primary-foreground, 0 0% 100%));border-radius:var(--r-md);cursor:pointer;white-space:nowrap}.gis-sim-run:disabled{opacity:.6;cursor:default}@media (max-width: 720px){.gis-toolbar{flex-wrap:wrap}.gis-sim-fields{display:none}}.landing-nav{gap:12px}.demo-hub-nav{gap:12px;flex-wrap:wrap}@media (max-width: 560px){.landing-nav .theme-toggle{font-size:0;gap:0;padding:8px}.landing-nav .theme-toggle svg{width:16px;height:16px}.demo-hub-pill{display:none}.landing-nav .btn-lg{padding:8px 14px;font-size:.8125rem}}.app-footer{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:14px 24px;border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font-size:12px;line-height:1.5}.app-footer-contact{flex:1 1 auto;min-width:0}.app-footer a{color:inherit;text-decoration:none}.app-footer a:hover{color:hsl(var(--foreground));text-decoration:underline}.app-footer-copy{flex:0 0 auto;opacity:.8}.aw-badge{position:relative;width:26px;height:26px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--ac),0 2px 5px #00000073}.aw-badge svg{display:block}.aw-badge.sm{width:20px;height:20px;box-shadow:0 0 0 1.5px var(--ac),0 1px 2px #0003;display:inline-flex;flex-shrink:0}.aw-badge.sq{border-radius:6px}.aw-badge-status{position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 2px #0006}.aw-pin{display:flex;flex-direction:column;align-items:center;gap:2px}.aw-pin-head{position:relative;width:34px;height:34px;border-radius:9px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 0 0 2px var(--ac),0 3px 8px #00000073}.aw-pin-head:after{content:"";position:absolute;bottom:-7px;left:50%;margin-left:-5px;border:5px solid transparent;border-top:5px solid var(--ac);border-bottom:0}.aw-pin-level{width:20px;height:4px;border-radius:2px;background:#e5e7eb;overflow:hidden}.aw-pin-level i{display:block;height:100%;background:var(--lc);border-radius:2px}.aw-pin-tag{margin-top:6px;padding:1px 6px;border-radius:6px;background:var(--ac);color:#fff;font:700 10px/1.5 var(--font);font-variant-numeric:tabular-nums;box-shadow:0 1px 3px #0006}.aw-leakpin{position:relative;width:28px;height:35px;filter:drop-shadow(0 3px 4px rgb(0 0 0 / .45))}.aw-leakpin svg{display:block}.aw-leakpin-glyph{position:absolute;left:7px;top:5px}.aw-leakpin.fixed{opacity:.55}.aw-sensor .aw-sensor-dot{width:12px;height:12px;box-shadow:0 0 0 1px #00000026,0 1px 3px #00000073}.aw-swatch-sensors{display:inline-flex;gap:3px}.aw-swatch-sensors i{width:9px;height:9px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 0 0 1px #0000001f}
