:root{--accent:#3b6ea8;--strong:#2f557f;--secondary:#4f8fa8;--soft:#dce9f5;--ink:#17293f;--muted:#68788d;--line:#dfe7ef;--surface:#f4f7fa;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:#f7f9fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #82b9e3;outline-offset:4px}.ambient{position:absolute;inset:0 0 auto;height:650px;background:radial-gradient(ellipse at 5% 0%,#dce9f5b0,transparent 60%),radial-gradient(ellipse at 100% 50%,#4f8fa818,transparent 50%);pointer-events:none;z-index:-1}.shell{max-width:1240px;margin:auto;padding:0 32px}.topbar{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:700;letter-spacing:-.7px;color:var(--ink);white-space:nowrap}.brand:hover{text-decoration:none}.brand-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:white;background:linear-gradient(135deg,var(--accent),var(--secondary));font-size:27px}.badge{font-size:10px;letter-spacing:1px;border:1px solid #c9d9e7;border-radius:6px;padding:4px 6px;color:var(--muted)}nav,.row{display:flex;gap:16px;align-items:center}nav{font-size:14px;font-weight:500}nav a{color:var(--muted)}nav .active{color:var(--strong)}nav form{margin:0}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--accent);color:#fff;border:1px solid transparent;border-radius:11px;padding:11px 18px;font-weight:600;font-size:14px;text-decoration:none;line-height:1.4}.button:hover,button:hover{background:var(--strong);text-decoration:none}.secondary{background:#fff;color:var(--strong);border-color:#cad9e6}.secondary:hover{background:#edf3f8}.subtle{background:transparent;color:var(--muted);padding:9px 10px}.subtle:hover{background:#e9eff6;color:var(--ink)}.danger{background:#fff;color:#b34545;border-color:#edcccc}.danger:hover{background:#fff0f0}.compact{padding:7px 11px;font-size:12px}main{min-height:calc(100vh - 210px);padding:30px 0 50px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin:0 0 14px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#51a28f;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.2;letter-spacing:-1.3px;margin-bottom:14px}h2{font-size:21px;letter-spacing:-.5px;margin-bottom:18px}h3{font-size:16px;margin-bottom:10px}p{line-height:1.7;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-head p{margin:0}.card{padding:26px;border:1px solid var(--line);border-radius:20px;background:#ffffffed;box-shadow:0 4px 24px -18px #233e5d50}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.main-grid{grid-template-columns:minmax(0,1fr) 330px}.stack{display:grid;gap:22px;align-content:start}.section{margin-top:28px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.stat{padding:22px 24px}.stat .number{font-size:30px;font-weight:700;margin-top:7px;letter-spacing:-1px}.stat .muted{font-size:12px}.metric-link{display:block;color:var(--ink);transition:transform .2s,border .2s}.metric-link:hover{text-decoration:none;transform:translateY(-3px);border-color:#9eb9d2}.metric-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:23px;background:#edf3f8;color:var(--accent);margin-bottom:20px}.pill{font-size:11px;padding:5px 9px;background:#edf3f8;color:var(--strong);border-radius:7px;white-space:nowrap}.empty{text-align:center;padding:65px 20px;border:1px dashed #c7d7e6;border-radius:20px;background:#ffffff70}.empty .metric-icon{margin:0 auto 18px}.empty p{max-width:430px;margin:0 auto 24px}.field{display:grid;gap:7px;font-size:13px;font-weight:600;flex:1;min-width:0}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #ced9e4;background:white;color:var(--ink);border-radius:10px;padding:11px 12px;outline:none;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--soft)}input[type=color]{padding:4px;height:43px}.form{display:grid;gap:17px}.hint{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.info-note,.error{padding:17px 20px;border-radius:12px;margin-bottom:24px;font-size:14px}.info-note{background:#edf3f8;border:1px solid #cad9e6;color:#2f557f}.error{background:#fff1f0;border:1px solid #efcfc9;color:#9b3c31}.error ul{margin-bottom:0}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:48px 0 70px}.hero h1{font-size:60px;line-height:1.08;letter-spacing:-2.5px}.hero h1 span{color:var(--accent)}.hero p{font-size:17px;max-width:430px;margin:24px 0 28px}.hero .hint{font-size:12px;margin-top:20px}.preview{padding:26px;border-radius:24px;transform:rotate(-2deg);box-shadow:0 25px 70px -35px #375c80a0}.preview svg{width:100%;height:auto}.preview .stats-strip{display:flex;gap:32px;margin:24px 0}.preview strong{font-size:24px}.features{border-top:1px solid var(--line);padding-top:34px}.features .card{background:transparent;border:0;box-shadow:none;padding:10px 0}.auth{max-width:440px;margin:30px auto 70px}.auth h1{font-size:29px}.auth .card{padding:34px}.breadcrumb{font-size:13px;margin:0 0 24px;color:var(--muted)}.filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.filters .field{min-width:110px}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.stats-strip strong{display:block;font-size:20px;line-height:1.6;word-break:break-word}.stats-strip span{font-size:11px;color:var(--muted)}.chart{width:100%;height:330px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.6px;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:13px 10px;border-bottom:1px solid #edf1f5;vertical-align:middle}td strong{font-size:15px}.inline-form{display:flex;align-items:center;gap:7px}.inline-form input{min-width:80px;max-width:210px;width:100%;border:1px solid var(--line);border-radius:7px;padding:7px}.pagination{display:flex;gap:15px;align-items:center;justify-content:center;margin-top:20px;font-size:13px}details{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--strong);margin-bottom:18px}.code,pre{background:#152b43;color:#dce9f5;padding:20px;border-radius:12px;overflow:auto;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}code{font-family:ui-monospace,monospace;font-size:.9em}.key-secret{border:1px solid #abd1bb;background:#f0f9f3;padding:20px;border-radius:12px;margin-bottom:24px;overflow-wrap:anywhere}.key-secret code{display:block;margin:12px 0;user-select:all}.docs{max-width:880px;margin:auto}.docs h2{margin-top:36px}.docs li{line-height:1.8;color:var(--muted)}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:28px 0 32px;font-size:12px;color:var(--muted)}.small{font-size:14px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.color-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.chart-empty{display:grid;place-items:center;height:280px;color:var(--muted);text-align:center}.project-title{margin-top:32px}.project-title a{color:var(--ink)}@media(max-width:950px){.grid.main-grid{grid-template-columns:1fr}.hero{gap:30px}.hero h1{font-size:46px}.shell{padding:0 22px}.grid.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.shell{padding:0 16px}.topbar{min-height:85px;flex-wrap:wrap;gap:15px;padding:20px 0}.brand{font-size:17px}.brand-icon{width:32px;height:32px}.topbar nav{width:100%;justify-content:space-between;font-size:12px;gap:8px}.topbar nav .button{padding:8px 10px;font-size:12px}main{padding-top:20px}h1{font-size:30px}.hero{grid-template-columns:1fr;padding:25px 0 48px;gap:40px}.hero h1{font-size:47px}.preview{transform:none}.grid.two,.grid.three{grid-template-columns:1fr}.card{padding:20px;border-radius:16px}.page-head{align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}.stats-strip{grid-template-columns:repeat(2,1fr)}.stats-strip strong{font-size:18px}.filters .field{min-width:130px}.row.mobile-stack{align-items:stretch;flex-direction:column}.auth .card{padding:24px}.auth{margin-top:10px}.chart{height:280px}footer{flex-wrap:wrap}.inline-form{flex-wrap:wrap}}

.ingest-key{min-width:0;border-top:1px solid var(--line);padding-top:20px}.ingest-key>strong{display:block;margin-bottom:12px}.ingest-url{display:block;margin:10px 0 12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:12px;line-height:1.8;overflow-wrap:anywhere;user-select:all}.ingest-key .section{margin-top:16px}
#toast-container>div{opacity:1;border-radius:12px;box-shadow:0 8px 30px #17293f30;font-family:inherit;padding:16px 42px 16px 50px}#toast-container .toast-message{white-space:pre-line;overflow-wrap:anywhere;font-size:14px;line-height:1.6}#toast-container .toast-title{font-size:14px;margin-bottom:5px}#toast-container .toast-close-button{position:absolute;top:8px;right:10px;float:none;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;font-size:24px;line-height:1;gap:0;opacity:.8}#toast-container .toast-close-button:hover{background:#ffffff25;opacity:1}.toast-fallback{position:fixed;right:12px;top:12px;z-index:999999;display:flex;gap:16px;align-items:center;max-width:calc(100vw - 24px);padding:16px 20px;border-radius:12px;box-shadow:0 8px 30px #17293f30;background:var(--strong);color:#fff;white-space:pre-line}.toast-fallback button{background:transparent;padding:0;font-size:22px}
@media(max-width:640px){#toast-container.toast-top-right{left:12px;right:12px;top:12px;bottom:auto}#toast-container.toast-top-right>div{width:100%;max-width:100%;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){#toast-container *{animation:none!important;transition:none!important}}

.chart-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.6}.chart-range>div{min-width:0;overflow-wrap:anywhere}.chart-range>div:last-child{text-align:right}.chart-range time{display:block;color:var(--ink);font-variant-numeric:tabular-nums;white-space:normal}

.api-key{min-width:0;border-top:1px solid var(--line);padding-top:20px}.api-key .section{margin-top:16px}.api-key-token{display:block;min-width:0;max-width:100%;padding:12px;margin:12px 0;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:12px;line-height:1.8;overflow-wrap:anywhere;white-space:normal;user-select:all}.api-key pre{margin:10px 0 12px}

.locations-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;grid-template-areas:"map editor" "list tools";gap:22px;align-items:start}.locations-map-card{grid-area:map;min-width:0}.locations-editor{grid-area:editor;min-width:0}.locations-list-card{grid-area:list;min-width:0}.locations-tools{grid-area:tools;min-width:0}.locations-grid .hint.section{margin-top:14px}.locations-map{height:420px;border:1px solid var(--line);border-radius:12px;z-index:0;background:#edf3f8}.locations-map.picking,.locations-map.picking .leaflet-interactive{cursor:crosshair}.locations-map .leaflet-popup-content{max-width:260px;overflow-wrap:anywhere}.locations-map .leaflet-popup-content p{font-size:12px;line-height:1.6;margin:10px 0}.locations-map .leaflet-control-attribution{font-size:10px}.location-item{padding:22px 0;border-bottom:1px solid var(--line);min-width:0;overflow-wrap:anywhere}.location-item:first-child{padding-top:8px}.location-item:last-child{border-bottom:0;padding-bottom:0}.location-item h3{margin-bottom:0}.location-description{white-space:pre-wrap;font-size:13px;margin:12px 0;overflow-wrap:anywhere}.location-actions{gap:8px;margin-top:14px}.location-actions form{margin:0}.locations-tools details{margin-top:0;border-top:0;padding-top:0}.locations-tools summary{margin-bottom:0}.locations-tools details[open] summary{margin-bottom:16px}button:disabled{cursor:wait;opacity:.65}.locations-grid .filters{gap:10px}.locations-grid .filters .field{min-width:125px}.locations-grid .filters .field:first-child{flex-basis:100%}
@media(max-width:1000px){.locations-grid{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:800px){.locations-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"editor" "map" "list" "tools"}.locations-map{height:340px}.locations-editor{grid-template-columns:minmax(0,1fr)}.locations-map-card .row h2{margin-bottom:0}.locations-map-card .filters{margin-top:20px}}
