@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font:14px 'DM Sans',system-ui,sans-serif;color:#233d35;background:#f7f8f4;--green:#21684f;--line:#dce3da;--muted:#74827a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{border:0;border-radius:8px;padding:11px 15px;background:var(--green);color:white;cursor:pointer;text-decoration:none;display:inline-block}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.outline,.outline{background:transparent;border:1px solid #cbd7cd;color:var(--green)}input,select{border:1px solid #d6dfd6;border-radius:7px;padding:10px;color:#233d35;background:white;min-width:0}input:focus,select:focus,button:focus-visible{outline:2px solid #7aab89;outline-offset:2px}header{height:79px;display:flex;align-items:center;gap:30px;padding:0 28px;border-bottom:1px solid var(--line);background:#fff}.brand{font:800 30px Manrope,system-ui;color:#256647;text-decoration:none;letter-spacing:-1.5px;display:flex;gap:21px;align-items:center}.brand span{font:600 10px 'DM Sans',sans-serif;letter-spacing:2px;color:#6c7b6f;border-left:1px solid #dce3da;padding:9px 0 9px 22px}nav{display:flex;gap:6px;flex:1}nav button{background:none;color:#607167;font-weight:600;padding:12px 17px}nav .active{background:#edf3e9;color:var(--green)}i{font-style:normal;font-size:10px;background:#e1e9db;border-radius:20px;padding:2px 5px}.local{font-size:9px;letter-spacing:1px;color:#7a897b}main{display:grid;grid-template-columns:minmax(400px,1fr) minmax(390px,470px);height:calc(100vh - 79px)}.map-pane{position:relative;overflow:hidden;background:#e7edde}#map{position:absolute;inset:0}.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse at 20% 30%,#ddebd6,transparent 70%),repeating-linear-gradient(40deg,#e5ebde,#e5ebde 80px,#e9eee3 81px,#e9eee3 82px)}.map-empty h1{font:700 44px/1.15 Manrope,system-ui;letter-spacing:-1.7px;margin:22px 0 12px}.map-empty p{color:#71806d;line-height:1.8}.orb{border:1px solid #b2c5a5;border-radius:50%;padding:22px;font-size:32px;color:#63864f}.searchbox{position:absolute;top:24px;left:24px;width:min(540px,calc(100% - 48px));display:flex;align-items:center;background:white;padding:7px;border:1px solid #d6dfd0;border-radius:12px;box-shadow:0 6px 20px #33452a12}.searchbox span{font-size:28px;padding:0 10px}.searchbox input{border:0;flex:1;width:100%;padding-left:0}.search-results{position:absolute;top:90px;left:24px;right:24px;max-height:360px;overflow:auto;background:white;box-shadow:0 8px 30px #0002;border-radius:9px;z-index:5}.search-results button{display:block;width:100%;text-align:left;background:white;color:#233d35;border-bottom:1px solid var(--line);border-radius:0}.search-results small{display:block;color:var(--muted);margin-top:5px}.map-tools{position:absolute;top:96px;left:24px;display:flex;flex-wrap:wrap;gap:6px;max-width:90%}.map-tools button{background:#fff;color:#3f5f43;border:1px solid #dbe2d6;font-size:11px;padding:9px 11px;box-shadow:0 2px 6px #00000008}.map-status{position:absolute;bottom:26px;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none;font-size:10px;color:#496347}.map-status span{padding:7px 10px;background:#ffffffdb;border-radius:5px}#nativePanel{position:absolute;z-index:5;top:150px;left:24px;width:340px;background:white;border-radius:10px;padding:16px;max-height:60vh;overflow:auto}#nativeInput{width:100%;margin:12px 0}.inspector{background:#fff;border-left:1px solid var(--line);overflow:auto}.place-head{padding:28px 25px 22px}.eyebrow{font:600 10px 'DM Sans',sans-serif;letter-spacing:1.8px;color:#82907d}.eyebrow span{float:right;border:1px solid #dce5d6;padding:5px 9px;border-radius:4px;margin-top:-5px;color:#527346}h2{font:700 25px/1.3 Manrope,system-ui;letter-spacing:-.7px;margin:17px 0 10px}.place-head p{font-size:12px;color:#748176;line-height:1.6;min-height:35px}.pin-entry{display:flex;gap:7px;margin:18px 0}.pin-entry input{width:112px;font-family:monospace}.row{display:flex;align-items:end;gap:10px;justify-content:space-between}.row label{flex:1}label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#758274}label select{width:100%;font-size:12px}.tabs{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:auto;padding:0 15px;position:sticky;top:0;background:#fff;z-index:3}.tabs button{color:#7b8879;background:none;border-radius:0;white-space:nowrap;font-size:12px;padding:15px 13px;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:700}.content{padding:22px 25px 40px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.section-title h3{font-size:16px;margin:0}.badge{font-size:10px;border-radius:5px;padding:5px 8px;background:#edf3e9;color:#527042}.badge.error{background:#fcece5;color:#b76245}.status-note{padding:12px 14px;margin:12px 0;background:#f6f8f2;border:1px solid #e2e8dd;border-radius:8px;font-size:12px;line-height:1.6;color:#65755c}.status-note.error{background:#fff4ef;border-color:#f1ddd0;color:#a96848}.empty{padding:24px 12px;border:1px dashed #cddac5;border-radius:10px;color:#809076;text-align:center;line-height:1.8;font-size:12px}.card{padding:15px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.card h4{margin:0 0 8px;font-size:13px}.card p{font-size:12px;line-height:1.7;margin:6px 0;color:#6b7d68}.tree{border:1px solid #e3e9df;border-radius:8px;margin:10px 0;overflow:hidden}.tree summary{padding:12px;background:#f8faf5;cursor:pointer;font-size:12px;font-weight:600}.tree .tree{margin:8px}.kv{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:12px;border-top:1px solid #edf0e9;padding:10px 12px;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.kv span:first-child{color:#86917e}.kv a{color:#387255}.coverage{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.coverage div{font-size:10px;border:1px solid #e2e8dc;padding:10px;border-radius:6px}.coverage b{display:block;margin-top:4px;color:#607c53}.coverage .missing b{color:#b4955c}.content input[type=search]{width:100%;margin-bottom:12px}.actions{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.actions button{font-size:11px}.raw{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.7 monospace;background:#f3f6ee;padding:14px;max-height:550px;overflow:auto}.widget{width:100%;height:470px;border:1px solid #dce4d6;border-radius:10px;background:#f3f6ef}.widget.wide{height:600px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery img{width:100%;height:140px;object-fit:cover;border-radius:8px}.gallery figcaption{font-size:10px;color:#7c8b74}figure{margin:0}.subtle{font-size:11px;line-height:1.7;color:#7a8b73}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.form-grid input{width:100%}#diagnostics{padding:35px 5%;height:calc(100vh - 79px);overflow:auto}.diagnostic-head{display:flex;justify-content:space-between;align-items:center}.diagnostic-head h1{font:700 34px Manrope;margin:15px 0}.diagnostic-head p{color:#7a8875;font-size:13px}.diag-controls{display:flex;gap:15px;align-items:end;margin:24px 0}.diag-controls select{min-width:250px}.diag-controls span{color:#8a957f;font-size:12px}.diag-row{display:grid;grid-template-columns:1.2fr 1fr 130px 85px 2fr;gap:15px;padding:15px 18px;background:white;border-bottom:1px solid #e2e8db;font-size:12px;align-items:center}.diag-row small{display:block;color:#8a967f;font-size:10px;margin-top:4px}.diag-row .failure{color:#bd6d49}.diag-row .success{color:#327a52}.diag-row.head{font-size:10px;letter-spacing:1px;color:#75856b;background:#edf2e7}.credential-pill{display:inline-block;font-size:11px;border:1px solid #dce5d3;padding:8px 12px;border-radius:6px;margin:0 8px 18px 0}dialog{width:min(470px,92vw);border:1px solid #d6dfcd;border-radius:16px;padding:30px;color:#30462e;box-shadow:0 20px 80px #10291030}dialog::backdrop{background:#1b301e66;backdrop-filter:blur(4px)}dialog p{color:#7c8b74;font-size:12px;line-height:1.7}dialog label{margin:16px 0}dialog .row{margin-top:25px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#203f31;color:white;box-shadow:0 5px 25px #0002;border-radius:9px;z-index:20;max-width:80vw;font-size:12px}[hidden]{display:none!important}@media(max-width:1000px){header{padding:0 16px;gap:12px}.local,.brand span{display:none}main{grid-template-columns:minmax(300px,1fr) 390px}.map-tools{max-width:85%}}@media(max-width:720px){header{height:auto;min-height:70px;flex-wrap:wrap;padding:13px;gap:10px}.brand{font-size:24px}nav{order:3;width:100%}nav button{font-size:12px}main{height:auto;display:block}.map-pane{height:57vh}.inspector{border-left:0}.diag-row{grid-template-columns:1fr 1fr;gap:8px}.diag-row.head{display:none}.diagnostic-head,.diag-controls{display:block}.diag-controls button{margin-top:12px}.map-empty h1{font-size:30px}.diagnostic-head h1{font-size:26px}#diagnostics{height:auto}.map-tools{top:88px}}

#viewerDialog{width:94vw;max-width:1600px;height:94vh;padding:18px}#viewerDialog .row{margin:0 0 10px}#viewerDialog h2{margin:0}#viewerBody .widget{height:70vh}#viewerBody .status-note{margin:4px 0}#viewerBody .tree{display:none}.map-tools{max-width:calc(100% - 48px)}
.showcase-nav{display:flex;gap:8px;align-items:center;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);overflow:auto}.showcase-nav .module{white-space:nowrap;background:transparent;color:#677d70;font-size:12px;font-weight:600;padding:10px 20px}.showcase-nav .active{background:#21684f;color:white}main{height:calc(100vh - 137px);grid-template-columns:minmax(400px,1fr) minmax(420px,520px)}textarea{width:100%;min-height:105px;resize:vertical;border:1px solid #d6dfd6;border-radius:8px;padding:12px;font:12px/1.6 ui-monospace,monospace;color:#233d35;background:#fbfcfa}textarea:focus{outline:2px solid #7aab89}.intro{line-height:1.8;color:#718173;font-size:13px;margin-bottom:24px}.content>label{margin:15px 0}.content>button{margin:8px 6px 8px 0}.content>details{margin:22px 0;border-top:1px solid var(--line);padding-top:18px}.content>details>summary{cursor:pointer;font-weight:600;font-size:13px}.content>details>label{margin:15px 0}.api-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:290px;overflow:auto;padding:4px;margin-bottom:24px}.api-item{background:#f6f8f3;color:#355645;text-align:left;font-size:11px;line-height:1.5;border:1px solid #e0e7dc;min-height:50px}.api-item:focus{background:#e5eee0}.source-link{display:block;color:#21684f;font-size:12px;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin:16px 0}.metric{padding:15px;border:1px solid #dce6d6;border-radius:10px;background:#f5f8f0}.metric small,.metric strong,.metric span{display:block}.metric strong{font:700 23px Manrope;margin:8px 0}.metric span{font-size:12px}.metric button{margin-top:12px;font-size:11px}.matrix{border-collapse:collapse;font:11px monospace;display:block;overflow:auto;margin:12px 0}.matrix td,.matrix th{border:1px solid #dce6d6;padding:8px}.map-response-image{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;cursor:crosshair}.content .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content .form-grid label{min-width:0}.content .form-grid select{max-width:100%}@media(max-width:850px){main{display:block;height:auto}.map-pane{height:55vh}.inspector{max-height:none}.showcase-nav{padding:8px 12px}.showcase-nav .module{padding:9px 12px}}

.discovery{margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fbfcfa}.discovery>input,.discovery>select{width:100%;margin:7px 0}.discovery .intro{margin-bottom:12px}.resource-group{margin:16px 0;padding:14px;background:white;border:1px solid var(--line);border-radius:9px}.resource-group h4{margin:0 0 9px}.resource-group p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.resource-group>details{margin-top:12px;font-size:12px}.resource-item{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.resource-item>strong,.resource-item>small{display:block}.resource-item>small{color:#718173;margin-top:5px}.resource-item button{font-size:11px;padding:9px}.discovery button:disabled{opacity:.55;cursor:not-allowed}

.mgis-map-panel{border:1px solid #d8e4dc;border-radius:14px;padding:18px;margin:18px 0;background:#f6faf7}.mgis-layer-list{max-height:380px;overflow:auto}.map-layer-row{padding:12px 0;border-top:1px solid #dce5df}.map-layer-row>label{display:flex;align-items:center;gap:9px;padding-left:8px}.map-layer-row input[type=checkbox]{width:auto}.map-layer-row .note{font-size:12px}
