:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#19382e;background:#f4f5f0;font-size:14px;--forest:#183f32;--green:#367b55;--muted:#718077;--line:#e3e8e0;--cream:#f4f5f0}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer;border-radius:7px;padding:9px 13px;border:1px solid transparent;font-weight:600;white-space:nowrap}button:disabled{opacity:.4;cursor:default}input,select{border:1px solid #d8e0d7;border-radius:7px;padding:10px 11px;background:white;color:#19382e;min-width:0}input:focus,select:focus{outline:2px solid #77aa88;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #91b57e;outline-offset:2px}.primary{background:var(--forest);color:white}.secondary{background:#fff;border-color:#d8e0d7;color:var(--forest)}.quiet{background:transparent;color:var(--forest)}.quiet:hover,.secondary:hover{background:#edf2e9}.topbar{height:80px;padding:0 34px;background:var(--forest);display:flex;align-items:center;justify-content:space-between;color:#e9f1e6}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:13px;font-size:17px}.brand b{font-weight:400;color:#bfdba5}.brand small{display:block;font-size:9px;letter-spacing:2.1px;color:#9ab7a6;margin-top:6px}.brand-mark{width:40px;height:40px;border:1px solid #5a7a63;border-radius:11px;display:grid;place-items:center;font-size:26px;color:#d2e9b0}.top-actions{display:flex;align-items:center;gap:8px}.top-actions .quiet{color:#d8e5d5}.top-actions .quiet:hover{background:#315444}.connection{font-size:12px;color:#bdd4bc;margin-right:12px}.connection:before{content:"";display:inline-block;width:6px;height:6px;background:#aacf85;border-radius:50%;margin-right:7px}h1,h2,h3,p{margin:0}.eyebrow{letter-spacing:1.7px;color:#78927c;font-size:10px;font-weight:700}h1{font-size:30px;letter-spacing:-1px;margin-top:8px}.overview{padding:31px 34px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}.overview p{color:var(--muted);margin-top:9px;font-size:12px}.stats{display:flex;gap:34px}.stats small{display:block;letter-spacing:1.1px;font-size:9px;color:var(--muted);white-space:nowrap}.stats strong{display:block;font-size:29px;letter-spacing:-1px;font-weight:500;margin-top:9px}.workspace-grid{display:grid;grid-template-columns:310px minmax(0,1fr);margin:0 34px;gap:20px;align-items:start}.catalog,.inspector{border:1px solid var(--line);background:white;border-radius:11px;overflow:hidden}.catalog{position:sticky;top:16px}.catalog-heading{display:flex;justify-content:space-between;align-items:center;padding:21px 18px 14px}.catalog h2{font-size:18px}.number-pill{border-radius:5px;background:#eef3e9;color:#526c52;padding:4px 7px;font-size:11px}.catalog>input{margin:0 14px;width:calc(100% - 28px);font-size:12px}.catalog-filters{padding:10px 14px 14px;display:flex;gap:8px;border-bottom:1px solid var(--line)}.catalog-filters label{flex:1;min-width:0}.catalog-filters select{font-size:11px;width:100%;padding:8px 4px}.layer-list{max-height:620px;overflow:auto;min-height:240px}.layer-item{display:block;text-align:left;width:100%;border-radius:0;padding:14px 17px;border-bottom:1px solid #f0f2ed;white-space:normal;font-weight:400;position:relative;background:white}.layer-item:hover{background:#f5f7f1}.layer-item.selected{background:#edf3e6;box-shadow:inset 3px 0 #507847}.layer-item strong{display:block;font-size:12px;font-weight:600;word-break:break-word;line-height:1.5;margin-right:14px}.layer-item small{display:block;margin-top:5px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-item .row-meta{display:flex;align-items:center;justify-content:space-between;margin-top:8px;color:#657c6a;font-size:10px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#599162;margin-right:5px}.dot.attention{background:#c88a43}.dot.inactive{background:#99a39c}.catalog footer{padding:15px;font-size:10px;color:var(--muted);background:#fafbf7;border-top:1px solid var(--line)}.layer-heading{padding:23px 24px 15px;display:flex;justify-content:space-between;gap:16px;align-items:start}.layer-heading h2{font-size:23px;letter-spacing:-.5px;margin:8px 0}.layer-heading code{font-size:10px;color:var(--muted);word-break:break-all}.badge{display:inline-block;border-radius:5px;background:#edf4e8;color:#4b7350;padding:6px 9px;font-size:10px;white-space:nowrap;font-weight:600}.badge.attention{background:#fbf0dd;color:#99671d}.badge.inactive{background:#edf0ee;color:#718077}.layer-metadata{margin:0 24px 19px;display:flex;gap:23px;font-size:11px;color:var(--muted)}.layer-metadata b{color:#415d49;font-weight:500}.notice{margin:0 24px 16px;padding:12px 14px;border-radius:7px;background:#fcf3e3;color:#956518;font-size:12px;line-height:1.6}.error{color:#ac4e30}.tabs{display:flex;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 24px}.tabs button{border-radius:0;background:none;border-bottom:2px solid transparent;padding:15px 0;font-size:12px;color:var(--muted)}.tabs button.active{border-bottom-color:#527b42;color:var(--forest)}.data-toolbar{display:flex;align-items:center;gap:7px;padding:17px 24px 10px;flex-wrap:wrap}.data-toolbar label{font-size:10px;color:var(--muted);width:100%}.data-toolbar input{flex:1;font-size:11px;padding:9px}.data-toolbar button{font-size:11px}.preview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 24px}.preview-toolbar b{display:block;font-size:12px;font-weight:600}.preview-toolbar small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.preview-toolbar button{font-size:10px;padding:7px 8px}.map-wrap{position:relative;margin:0 24px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.map-wrap #map{height:300px;background:#e8eddf}.map-empty{position:absolute;z-index:500;top:40%;left:15%;right:15%;padding:14px 18px;border-radius:7px;background:#ffffffee;font-size:11px;pointer-events:none;text-align:center}.map-coordinates{position:absolute;z-index:500;bottom:24px;left:9px;background:#ffffffdc;border-radius:4px;font-size:9px;padding:4px 7px;pointer-events:none}.leaflet-control-attribution{font-size:9px!important}.table-heading{display:flex;justify-content:space-between;padding:23px 24px 12px;align-items:center}.table-heading h3,.history-heading h3,.feature-detail h3{font-size:14px}.table-heading span{font-size:10px;color:var(--muted)}.feature-table{margin:0 24px;border:1px solid var(--line);border-radius:7px;overflow:auto;max-height:320px}.feature-table table{border-collapse:collapse;width:100%;font-size:11px}.feature-table th{background:#f6f8f2;position:sticky;top:0;text-align:left;font-size:9px;letter-spacing:.4px;color:#6d806b;padding:12px;white-space:nowrap;border-bottom:1px solid var(--line);z-index:1}.feature-table td{padding:10px 12px;border-bottom:1px solid #eff2eb;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#526455}.feature-table tbody tr{cursor:pointer}.feature-table tbody tr:hover{background:#f7f9f3}.feature-table tr.selected{background:#edf4e6}.feature-table .no-data{padding:35px;text-align:center;color:var(--muted)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:15px 24px 22px;color:var(--muted);font-size:10px}.pagination button{font-size:10px;padding:7px 10px}.pagination div{display:flex;gap:7px}.feature-detail{margin:0 24px 24px;border:1px solid var(--line);border-radius:7px;padding:18px}.feature-detail>div{display:flex;justify-content:space-between;align-items:center}.feature-detail code{display:block;font-size:11px;color:#6c8068;margin-top:9px;word-break:break-word}.feature-detail dl{display:grid;grid-template-columns:minmax(100px,25%) minmax(0,1fr);font-size:11px;line-height:1.5;max-height:350px;overflow:auto}.feature-detail dt{color:var(--muted);padding:7px 12px 7px 0;border-bottom:1px solid #f1f3ee;word-break:break-word}.feature-detail dd{margin:0;padding:7px 0;border-bottom:1px solid #f1f3ee;word-break:break-word}.feature-detail summary{font-size:11px;color:var(--muted);cursor:pointer}.feature-detail pre{font-size:10px;background:#f6f8f3;padding:15px;max-height:300px;overflow:auto}.history-heading{padding:25px 24px 17px}.history-heading p{font-size:11px;color:var(--muted);margin-top:8px}.history-run{display:flex;gap:14px;margin:0 24px;padding:17px 0;border-top:1px solid var(--line);align-items:start}.history-run .badge{min-width:76px;text-align:center}.history-run strong{font-weight:500;font-size:12px}.history-run p{font-size:11px;color:var(--muted);margin-top:7px}.history-run small{display:block;color:#976c3d;margin-top:7px;font-size:10px}.history-placeholder{padding:25px;color:var(--muted);font-size:12px}.page-footer{padding:24px 34px 32px;color:#81917f;font-size:10px}.page-footer span{float:right}.selection-empty{min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.selection-empty .large-mark{font-size:45px;color:#a6b99e;margin-bottom:18px}.selection-empty p{max-width:310px;font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}.global-error{margin:0 34px 15px;padding:12px;border-radius:6px;color:#956518;background:#fbf0dd;font-size:12px}.login-screen{display:grid;place-items:center;min-height:calc(100vh - 80px);padding:24px}.login-card{width:430px;max-width:100%;background:white;border:1px solid var(--line);padding:38px;border-radius:13px;box-shadow:0 20px 70px #173e320b}.login-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0 27px}.login-card label{display:block;font-size:12px;margin-bottom:9px}.login-card input{display:block;width:100%}.login-card button{width:100%;margin-top:14px;text-align:left;padding:13px}.login-card button span{float:right}.login-card small{font-size:10px;color:var(--muted)}.login-card .error{margin:13px 0;color:#ac4e30;font-size:12px;min-height:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){.workspace-grid{grid-template-columns:340px minmax(0,1fr)}.map-wrap #map{height:360px}}@media(max-width:1000px){.overview{align-items:start}.stats{gap:18px}.stats strong{font-size:23px}.workspace-grid{grid-template-columns:260px minmax(0,1fr);gap:14px;margin:0 20px}.topbar{padding:0 20px}.overview{padding:25px 20px}.layer-heading,.data-toolbar{padding-left:17px;padding-right:17px}.preview-toolbar{padding:12px 17px;flex-wrap:wrap}.map-wrap,.feature-table{margin:0 17px}.layer-metadata{flex-wrap:wrap;gap:8px;margin-left:17px}.connection{display:none}}@media(max-width:720px){.topbar{height:72px;padding:0 15px}.brand{font-size:14px}.brand small{font-size:8px;letter-spacing:1.5px}.top-actions button{font-size:10px;padding:6px}.overview{display:block;padding:25px 15px}.overview h1{font-size:27px}.stats{margin-top:22px;justify-content:space-between}.workspace-grid{display:block;margin:0 15px}.catalog{position:static;margin-bottom:15px}.layer-list{min-height:100px;max-height:230px}.catalog footer{display:none}.catalog-heading{padding:15px}.layer-item{padding:10px 15px}.layer-heading h2{font-size:19px;word-break:break-word}.layer-heading .badge{font-size:9px}.preview-toolbar>div:last-child{display:flex;flex-wrap:wrap}.map-wrap #map{height:260px}.page-footer{padding:20px 15px}.page-footer span{display:none}.data-toolbar input{min-width:170px}.selection-empty{min-height:240px}.layer-metadata{font-size:10px}.login-card{padding:28px}}
