*{box-sizing:border-box}body{margin:0;background:#0c1118;color:#eef5fb;font-family:Inter,Arial,sans-serif}.app{min-height:100vh;display:grid;grid-template-columns:235px 1fr}.sidebar{background:#090d12;border-right:1px solid #1d2a36;padding:28px 18px;display:flex;flex-direction:column}.brand{font-size:23px;letter-spacing:2px;font-weight:800}.brand span{color:#aeb9c4}.brand b{color:#22a7ff}.brand small{display:block;font-size:9px;letter-spacing:4px;color:#6c7b88;margin-top:4px}.brand.big{font-size:30px}nav{margin-top:42px;display:grid;gap:8px}.nav{border:0;background:transparent;color:#8fa1b2;text-align:left;padding:12px;border-radius:8px;font-size:14px;cursor:pointer}.nav:hover,.nav.active{background:#111d28;color:#fff}.status{margin-top:auto;color:#6e8191;font-size:11px}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4dd68a;margin-right:8px}main{padding:0 34px 40px;overflow:hidden}header{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1b2732;margin-bottom:28px}h1,h2,h3,h4,p{margin-top:0}header h1{font-size:22px;margin-bottom:4px}header p{color:#718392;font-size:12px;margin:0}.primary,.secondary,.client-actions button{border:0;border-radius:7px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:#169df5;color:white}.secondary,.client-actions button{background:#18232d;color:#d9e6ef;border:1px solid #2a3b49}.hero{min-height:230px;border:1px solid #20313e;border-radius:14px;padding:42px;background:linear-gradient(120deg,#101923,#122a3d);display:flex;justify-content:space-between;align-items:center}.hero h2{font-size:35px;max-width:540px;margin:9px 0}.hero p,.section-head p,.project p,.portal-top p,.report-actions p{color:#8295a5}.hero-mark{width:130px;height:130px;border:1px solid #1a8ed8;border-radius:50%;display:grid;place-items:center;font-size:38px;font-weight:900;color:#20a8ff;box-shadow:0 0 45px #0e79b744}.eyebrow{font-size:10px;color:#20a8ff;letter-spacing:2px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 30px}.stats article{background:#101720;border:1px solid #1d2a35;padding:18px;border-radius:10px}.stats span,.stats small{display:block;color:#6f8190;font-size:10px}.stats strong{display:block;font-size:22px;margin:8px 0}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project{background:#101720;border:1px solid #1d2b36;border-radius:11px;overflow:hidden}.mapthumb{height:150px;position:relative;background:#283a34}.mapthumb.pit{background:linear-gradient(30deg,#29392f,#51614c,#7c7358,#263b32)}.mapthumb.residential{background:linear-gradient(140deg,#203e31,#556c48,#313d39)}.mapthumb:after{content:"";position:absolute;inset:25px 80px;border:2px solid #26a8f7;transform:rotate(-8deg);background:#2ca9f711}.mapthumb span{position:absolute;top:12px;left:12px;background:#081019bb;padding:5px 8px;font-size:9px;z-index:2}.pad{padding:17px}.row{display:flex;justify-content:space-between;gap:10px}.row em,.good{font-style:normal;color:#5ee6a0;font-size:11px}.project p{font-size:12px}.tags span{display:inline-block;background:#172531;color:#8cb3ca;border-radius:4px;padding:5px 8px;font-size:9px;margin-right:5px}.view{display:none}.view.active{display:block}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.table{border:1px solid #20303c;border-radius:10px;overflow:hidden}.tr{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;padding:16px;border-bottom:1px solid #1c2934;align-items:center;font-size:12px}.tr:last-child{border:0}.tr.head{background:#111b24;color:#718797;font-size:9px;letter-spacing:1px}.tr small{display:block;color:#647887;margin-top:4px}.map-panel{display:grid;grid-template-columns:1fr 290px;height:650px;border:1px solid #20303c;border-radius:12px;overflow:hidden}.fake-map{position:relative;background:linear-gradient(25deg,#1a2923,#35493d 45%,#222f2a);overflow:hidden}.fake-map:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 55px,#9eb19a10 56px 58px)}.road{position:absolute;background:#9d95706b;height:30px;width:120%;transform:rotate(16deg);top:45%;left:-10%}.r2{transform:rotate(-60deg);top:20%;left:15%}.site-poly{position:absolute;left:30%;top:26%;width:42%;height:40%;border:3px solid #22a7ff;background:#22a7ff1a;clip-path:polygon(10% 5%,90% 0,100% 80%,60% 100%,0 75%)}.site-poly span{position:absolute;left:25%;top:45%;background:#081019;padding:7px 10px;font-size:11px}.map-controls{position:absolute;left:15px;top:15px;display:grid}.map-controls button{width:34px;height:34px;background:#101923;color:#fff;border:1px solid #30414f}.inspector{background:#0f171f;padding:26px}.inspector label{display:block;margin-top:30px;color:#6f8292;font-size:9px}.toggle{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #23313c;font-size:12px}.toggle b{color:#20a8ff}.wide{width:100%;margin-top:25px}.total{font-size:26px;color:#20a8ff}.piles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pile{background:#101820;border:1px solid #20303b;padding:18px;border-radius:9px}.pile span{color:#718696;font-size:10px}.pile strong{display:block;font-size:20px;margin-top:7px}.notice{margin-top:20px;padding:16px;border-left:3px solid #f0b84b;background:#2b241633;color:#b9a77f;font-size:11px}.report-card{display:grid;grid-template-columns:1.1fr 1fr;max-width:850px;margin:30px auto;border:1px solid #20303d;border-radius:12px;overflow:hidden}.report-cover{min-height:440px;padding:48px;background:linear-gradient(145deg,#0b1118,#15334a);display:flex;flex-direction:column;justify-content:flex-end}.report-cover h2{font-size:30px;margin-top:auto}.report-cover p{color:#93a8b7}.report-actions{padding:45px}.report-actions button{margin:8px 8px 0 0}.portal-top{padding:35px;border-radius:12px;background:linear-gradient(120deg,#10202d,#122f43);margin-bottom:20px}.client-card{padding:24px;border:1px solid #20303d;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.client-card p{color:#738796;font-size:12px}.client-actions{display:flex;gap:8px}dialog{background:#101820;color:#eef5fb;border:1px solid #2b3d4b;border-radius:12px;padding:0;min-width:430px}dialog form{padding:28px}dialog label{display:block;font-size:11px;color:#8da0af;margin:14px 0}input,select,textarea{width:100%;margin-top:6px;background:#0b1117;border:1px solid #2b3c49;color:#fff;border-radius:6px;padding:11px}textarea{height:85px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}@media(max-width:850px){.app{grid-template-columns:1fr}.sidebar{display:none}main{padding:0 16px 30px}.stats{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.map-panel{grid-template-columns:1fr;height:auto}.fake-map{height:430px}.piles{grid-template-columns:1fr 1fr}.report-card{grid-template-columns:1fr}.client-card{align-items:flex-start;gap:18px;flex-direction:column}.client-actions{flex-wrap:wrap}header{height:80px}.hero{padding:25px}.hero-mark{display:none}.hero h2{font-size:28px}}@media print{.sidebar,header,.report-actions{display:none}.app{display:block}main{padding:0}.view{display:none!important}#reports{display:block!important}.report-card{display:block;border:0;margin:0}.report-cover{min-height:100vh}}.clickable{cursor:pointer}.clickable:hover{transform:translateY(-1px);filter:brightness(1.06)}
.workspace-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.workspace-card{background:#101d2b;border:1px solid #26394b;border-radius:12px;padding:24px}.workspace-card>span{font-size:11px;letter-spacing:.15em;color:#7792aa}.workspace-card>strong{display:block;font-size:22px;margin:8px 0 24px}.workspace-card h3{margin-top:22px}.file-list{margin-top:16px;display:grid;gap:8px}.file-chip{padding:12px;background:#0b1621;border:1px solid #294155;border-radius:8px}.file-chip small{display:block;color:#7792aa;margin-top:4px}.fake-map.imported{background-size:cover!important;background-position:center!important}.fake-map.imported .road{display:none}@media(max-width:850px){.workspace-grid{grid-template-columns:1fr}}
#geoCanvas{position:absolute;inset:0;width:100%;height:100%;display:none;cursor:grab;z-index:1;background:#101820}#geoCanvas.dragging{cursor:grabbing}.fake-map.geo-loaded #geoCanvas{display:block}.fake-map.geo-loaded .road,.fake-map.geo-loaded .site-poly{display:none}.map-controls{z-index:4}.map-loading{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;border-radius:8px;background:#071019dd;border:1px solid #248bc7;color:#dff4ff;font-size:12px}.geo-meta{margin-top:14px;padding:11px;border:1px solid #203441;background:#0a131b;border-radius:7px;color:#87a1b3;font-size:10px;line-height:1.55;word-break:break-word}.geo-meta strong{color:#dcecf6}.map-controls button{cursor:pointer}

.measure-tools{position:absolute;z-index:4;left:64px;top:15px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.measure-tools button{height:34px;border:1px solid #30414f;border-radius:5px;background:#101923;color:#dcecf6;padding:0 11px;cursor:pointer;font-size:11px;font-weight:700}.measure-tools button.active{background:#169df5;border-color:#169df5;color:#fff}.measure-tools span{background:#071019dd;border:1px solid #30414f;border-radius:5px;padding:8px 10px;color:#bcd0dd;font-size:10px}.map-controls #fitView{width:42px;font-size:9px;font-weight:800}.fake-map.measuring #geoCanvas{cursor:crosshair}

.measure-tools button:disabled{opacity:.62;cursor:not-allowed}.measure-tools button:not(:disabled):hover{border-color:#168fe5;background:#142838}.saved-box{margin-top:14px;padding-top:12px;border-top:1px solid #263745}.saved-measurements{display:flex;flex-direction:column;gap:7px;margin-top:7px;max-height:180px;overflow:auto}.saved-item{border:1px solid #2c3c49;background:#101820;border-radius:6px;padding:8px}.saved-item .saved-top{display:flex;gap:6px;justify-content:space-between;align-items:center}.saved-item strong{font-size:11px;color:#e9f4fa}.saved-item small{display:block;color:#8fa5b4;font-size:9px;margin-top:3px}.saved-item button{border:0;background:transparent;color:#ef8080;cursor:pointer;font-size:13px}.saved-item .kind{color:#39aaf5;text-transform:uppercase;font-size:8px;font-weight:800;letter-spacing:.08em}.saved-actions button.edit-measure{width:auto;min-width:42px;padding:0 6px;border:1px solid #31556c!important;color:#75caff!important;font-size:10px!important;font-weight:700}

.saved-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.saved-heading label{margin:0}.mini-action{border:1px solid #30414f;background:#101923;color:#bcd0dd;border-radius:5px;padding:5px 8px;font-size:9px;font-weight:700;cursor:pointer}.saved-actions{display:flex;gap:2px;align-items:center}.saved-actions button{width:24px;height:24px;border-radius:4px!important;color:#a9c0cf!important;font-size:12px!important}.saved-actions button[data-delete]{color:#ef8080!important}.saved-item.is-hidden{opacity:.48}.saved-item.is-hidden strong{text-decoration:line-through}

/* V3.5.1 small-screen inspector fix */
.inspector{display:flex;flex-direction:column;min-height:0;overflow:hidden}.import-actions{position:sticky;top:0;z-index:5;background:#0f171f;padding-bottom:12px;border-bottom:1px solid #23313c}.import-actions .wide{margin-top:8px}.import-actions .wide:first-child{margin-top:0}.inspector-scroll{min-height:0;overflow-y:auto;padding-right:4px;scrollbar-gutter:stable}.inspector-scroll::-webkit-scrollbar{width:8px}.inspector-scroll::-webkit-scrollbar-thumb{background:#2a3b49;border-radius:8px}@media(max-height:760px) and (min-width:851px){.map-panel{height:calc(100vh - 150px);min-height:500px}.inspector{padding:18px}.inspector label{margin-top:16px}}

#dsmMeta{max-height:320px;overflow:auto;font-size:9px}#dsmMeta b{color:#b9d9eb}#dsmMeta strong{color:#43c7ff}

.probe-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.probe-actions .mini-action{width:100%}

/* V3.5.8 layout fix: keep probe actions visible and make inspector content scroll cleanly */
.inspector{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.inspector>p{flex:0 0 auto}
.inspector>.eyebrow,.inspector>h2,.inspector>label,.inspector>.toggle,.inspector>.import-actions{flex:0 0 auto}
.inspector-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:6px}
.probe-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:10px 0 14px;min-height:36px;overflow:visible}
.probe-actions .mini-action{display:block!important;min-height:34px;padding:8px 6px;white-space:nowrap}

/* V3.5.9 waypoint target selection */
.nav-target{margin-top:12px;padding:10px;border:1px solid #294155;background:#0a131b;border-radius:7px;color:#9db3c2;font-size:10px;line-height:1.55}.nav-target-name{color:#43c7ff;font-weight:800;font-size:11px;margin-bottom:5px}.nav-target .mini-action{margin-top:8px}.saved-item.nav-selected{border-color:#22a7ff;box-shadow:0 0 0 1px #22a7ff55}.saved-item[data-selectpt]{cursor:pointer}

/* V3.6.0 live field navigation */
.nav-live{margin-top:9px;padding:9px;border:1px solid #1c6f9e;background:#0c2230;border-radius:6px;color:#bfe9ff}.nav-live b{font-size:18px;color:#43c7ff}.nav-warning{margin-top:9px;padding:8px;border:1px solid #8a6a2b;background:#2b2416;color:#e4c77f;border-radius:6px}.nav-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.nav-buttons .mini-action{margin-top:0}


/* V3.6.1 smoothed navigation compass */
.nav-compass{margin-top:10px;padding:12px 10px;border:1px solid #1c6f9e;background:#091d29;border-radius:9px;text-align:center}.compass-ring{position:relative;width:112px;height:112px;margin:2px auto 7px;border:2px solid #2c83b5;border-radius:50%;background:radial-gradient(circle at center,#102b3b 0 48%,#09151e 49% 100%);box-shadow:inset 0 0 0 6px #0d2230}.compass-ring:before,.compass-ring:after{content:"";position:absolute;background:#31556b;opacity:.8}.compass-ring:before{width:1px;height:94px;left:54px;top:7px}.compass-ring:after{height:1px;width:94px;top:54px;left:7px}.compass-n{position:absolute;z-index:3;top:5px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:900;color:#fff}.bearing-arrow{position:absolute;z-index:4;left:50%;top:50%;width:28px;height:55px;transform-origin:50% 82%;transition:transform .45s ease-out}.bearing-arrow span{display:block;color:#43c7ff;font-size:42px;line-height:42px;text-shadow:0 0 10px #169df5}.compass-dot{position:absolute;z-index:5;width:9px;height:9px;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #169df5}.nav-distance{font-size:24px;font-weight:900;color:#43c7ff;line-height:1.1}.nav-direction{margin-top:4px;color:#e8f6ff;font-weight:700}.nav-accuracy{margin-top:5px;color:#7fa7bd;font-size:9px}.nav-live{display:none}

.nav-heading{margin-top:4px;color:#43c7ff;font-size:10px;font-weight:800}

/* V3.8 editable drawing controls */
.measure-tools{right:12px;max-width:calc(100% - 76px);align-items:center;padding:0;touch-action:manipulation}
.measure-tools button,.measure-tools select{min-height:38px;font-size:11px}
.measure-tools select{width:auto;max-width:150px;margin:0;background:#101923;border:1px solid #30414f;border-radius:5px;color:#dcecf6;padding:0 8px}
 .measure-tools button:disabled{opacity:.62}
#geoCanvas{touch-action:none}
@media(max-width:850px){
 .measure-tools{left:56px;right:8px;top:8px;max-width:calc(100% - 64px);gap:4px}
 .measure-tools button,.measure-tools select{min-height:36px;padding-left:8px;padding-right:8px;font-size:10px}
 .measure-tools select{max-width:128px}
 .measure-tools span{flex:1 1 100%;min-height:31px;padding:6px 8px;white-space:normal}
}
@media(max-width:520px){
 .measure-tools{left:50px;right:6px;max-width:calc(100% - 56px);gap:3px}
 .measure-tools button,.measure-tools select{min-height:34px;padding-left:6px;padding-right:6px;font-size:9px}
 .measure-tools select{max-width:104px}
 .measure-tools span{font-size:9px}
}

.install-prompt{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 24px;padding:14px 16px;border:1px solid #23506a;border-radius:10px;background:linear-gradient(105deg,#10202d,#102d3b)}.install-prompt[hidden]{display:none!important}.install-prompt strong{font-size:14px;color:#dff4ff}.install-prompt p{margin:4px 0 0;color:#9cb2c1;font-size:13px;line-height:1.45}.install-prompt button{flex:none;min-height:44px}@media(max-width:520px){.install-prompt{align-items:flex-start;flex-direction:column}.install-prompt button{width:100%}}

.publish-box{margin-top:20px;padding:16px;border:1px solid #24435a;border-radius:9px;background:linear-gradient(120deg,#0c1a25,#102233)}.publish-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.publish-heading strong{font-size:15px}.publish-heading span{font-size:12px;color:#91a7b5}.publish-box>p,.publish-help{margin:9px 0 12px;color:#91a7b5;font-size:13px;line-height:1.5}.publish-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.publish-actions .mini-action{display:inline-flex;text-decoration:none;padding:10px 12px;font-size:12px}.publish-error{color:#ff9b9b;font-size:13px;min-height:0}.publish-error:not(:empty){margin:8px 0}.publish-help{max-width:480px}#publishDialog{width:min(560px,calc(100vw - 28px));min-width:0}#publishDialog form{padding:26px}#publishDialog label{font-size:14px;color:#c0d1dc;margin:16px 0}.publish-actions [hidden]{display:none!important}
