/* Product surface */
#central{scroll-margin-top:90px}.hero-footnote{color:#91b6c0}.lab-section{padding-block:88px 96px}.lab-heading{margin-bottom:28px}.lab-heading>p{max-width:410px}.app-shell{box-shadow:0 26px 70px rgba(13,56,67,.15)}.app-top-badge{color:#537c87}.app-view{min-height:610px}.sidebar-bottom small{color:#86aab4}.overview-shortcut{margin-top:15px;background:#e4f3f4;border:1px solid #cde7ea;border-radius:9px;padding:16px 19px;display:flex;justify-content:space-between;align-items:center;gap:15px}.overview-shortcut strong,.overview-shortcut span{display:block}.overview-shortcut strong{font-size:12px}.overview-shortcut span{font-size:10px;color:#6f8a95;margin-top:3px}.recent-item{width:100%;border:0;background:transparent;text-align:left;color:var(--ink);cursor:pointer}.recent-item:hover,.recent-item:focus-visible{background:#f5fbfb}.recent-panel{min-height:285px}.case-toolbar{flex-wrap:wrap}.case-toolbar select{min-width:150px}.search-field{flex:1;min-width:220px}.search-field input{width:100%;border:1px solid #d9e5e8;border-radius:6px;padding:9px 11px;background:#fff;color:#213c47;font-size:11px}.search-field input:focus{border-color:#32b3c1;outline:0;box-shadow:0 0 0 3px rgba(44,184,196,.12)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Capture and case detail */
.three-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.field input[type=date]{width:100%;background:#fbfdfd;border:1px solid #d9e5e8;color:#213c47;border-radius:6px;padding:8px 9px;font-size:11px;min-height:37px}.field input[type=date]:focus{border-color:#32b3c1;outline:0;box-shadow:0 0 0 3px rgba(44,184,196,.12)}.attachment-preview{display:grid;gap:6px;margin-top:10px}.attachment-item{display:flex;align-items:center;gap:8px;border:1px solid #dce9eb;border-radius:6px;background:#f6fbfb;padding:7px 9px;min-width:0}.attachment-item span{color:#1b98a7;font-size:16px}.attachment-item strong{font-size:10px;color:#466873;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-detail{scroll-margin-top:100px}.print-heading{display:none}.case-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 22px}.case-step{position:relative;display:flex;align-items:center;gap:7px;color:#9bafb5;font-size:10px}.case-step:not(:last-child):after{content:"";position:absolute;height:1px;background:#d6e7e9;left:33px;right:-2px;top:12px}.case-step span{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;background:#e8f1f2;font-size:9px}.case-step.done{color:#156d7b}.case-step.done span{background:#3ec3cd;color:#062831}.case-step b{font-weight:700;background:#fff;z-index:1;padding-right:5px}.detail-date{font-size:10px;color:#8aa0a8;margin:10px 0 0}.second-label{margin-top:16px}.media-preview{border-top:1px solid #e6eff0;margin-top:20px;padding-top:16px}.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}.media-grid figure{margin:0;border:1px solid #dbe9eb;border-radius:7px;overflow:hidden;background:#f5fafa;min-width:0}.media-grid img,.media-grid video{display:block;width:100%;height:108px;object-fit:cover}.media-grid audio{width:100%;max-width:230px;margin:15px 0 5px}.media-grid figcaption{font-size:9px;color:#60808b;padding:7px;overflow-wrap:anywhere}.media-grid>a{color:#167d8b;font-size:10px;font-weight:700;padding:15px;border:1px solid #dbe9eb;border-radius:7px}.guidance-box{display:flex;gap:12px;background:#e7f5f5;border:1px solid #c9e7e9;border-radius:8px;padding:15px;margin-top:21px}.guidance-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:#d0eff0;color:#138e9c;flex:none}.guidance-box strong{font-size:11px}.guidance-box p{font-size:10px;color:#587581;line-height:1.55;margin:3px 0 0}.detail-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:end}.print-button{border:1px solid #b9dbe0;background:#fff;color:#247785;padding:9px 11px;border-radius:6px;font-size:10px;font-weight:750}.print-button:hover{background:#e8f6f7}.detail-footer{align-items:end}.detail-footer small{max-width:250px;line-height:1.4}
/* Schematic heatmap with dynamic, canvas-rendered density */
.map-toolbar{flex-wrap:wrap;gap:8px 10px}.map-toolbar label{font-size:10px;font-weight:700;color:#5f7c86}.map-toolbar select{min-width:142px}.map-grid{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr)}.map-panel{min-width:0}.map-top{background:#f8fcfc}.heatmap-stage{position:relative;height:375px;overflow:hidden;background:#b9d7e0}.map-base,.heatmap-stage canvas{position:absolute;inset:0;width:100%;height:100%}.map-base{z-index:0}.water-shape{fill:#bedde5}.land-shape{fill:#e8f0ed;stroke:#fff;stroke-width:5}.land-inner{fill:url(#street-grid);opacity:.7}.water-cut{fill:#bfdee5;stroke:#f8fcfc;stroke-width:8}.road{fill:none;stroke:#fff;stroke-width:13;opacity:.75}.heatmap-stage canvas{z-index:1;pointer-events:none;mix-blend-mode:multiply}.heat-pin{position:absolute;z-index:2;display:flex;align-items:center;gap:5px;border:1px solid rgba(15,113,128,.22);border-radius:20px;background:rgba(255,255,255,.94);color:#205361;box-shadow:0 5px 20px rgba(31,72,85,.18);padding:5px 7px;font-size:9px;font-weight:800;white-space:nowrap;transform:translate(-50%,-50%);transition:opacity .2s,background .2s,transform .2s}.heat-pin:hover,.heat-pin.selected{background:#103f4c;color:white;transform:translate(-50%,-50%) scale(1.06)}.heat-pin.dim{opacity:.48}.heat-pin b{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#41c3cd;color:#0c3039;font-size:9px}.pin-anjo{left:18%;top:46%}.pin-centro{left:39%;top:53%}.pin-renascenca{left:59%;top:37%}.pin-cohab{left:77%;top:48%}.heatmap-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border-top:1px solid #e2ecee;color:#8aa2aa;font-size:9px}.heat-gradient{width:115px;height:7px;border-radius:10px;background:linear-gradient(90deg,#69ced7,#f5de6e,#f6a052,#ee6471)}.heatmap-total{display:block;color:#148b99;font-size:12px;margin-top:14px}.region-bars{margin-top:24px;gap:17px}.map-insight{background:#f0f8f8;border-left:3px solid #54c9d2;color:#5a7984;font-size:10px;line-height:1.55;padding:10px 12px;margin-top:22px}.map-disclaimer{font-size:10px;color:#758e98;line-height:1.5;margin:13px 0 0}.demo-undertext{font-size:10px;color:#79919a}.app-main{overflow:hidden}
@media(max-width:1050px){.map-grid{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr)}.heatmap-stage{height:330px}.three-fields{grid-template-columns:1fr 1fr}.three-fields .field:last-child{grid-column:1/-1}}
@media(max-width:800px){.app-shell{grid-template-columns:minmax(0,1fr)}.map-grid{grid-template-columns:1fr}.heatmap-stage{height:360px}.sidebar-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:visible}.side-tab{width:100%;justify-content:center;white-space:normal;text-align:center}.side-tab b{display:none}.app-sidebar{padding:8px}.app-view{padding:22px}.app-main{overflow:visible}.form-aside{display:grid;grid-template-columns:1fr 1fr}.overview-shortcut{align-items:start}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.lab-section{padding-block:62px 70px}.app-shell{margin-inline:0;border-radius:10px}.app-sidebar{padding:6px}.sidebar-nav{gap:2px}.side-tab{min-width:0;padding:7px 2px;min-height:58px;display:flex;flex-direction:column;gap:2px;font-size:9px;line-height:1.1}.side-tab>span{font-size:18px;width:auto}.app-topbar{height:45px}.app-view{padding:17px 12px;min-height:0}.view-head{margin-bottom:17px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.stat-card{min-height:95px}.stat-card.accent-stat{grid-column:1/-1;min-height:83px;display:grid;grid-template-columns:1fr auto;align-items:center}.accent-stat span{grid-column:1}.accent-stat strong{grid-column:2;grid-row:1/3}.accent-stat small{grid-column:1}.overview-shortcut{display:block;padding:14px}.overview-shortcut button{margin-top:11px}.three-fields,.two-fields{grid-template-columns:1fr}.three-fields .field:last-child{grid-column:auto}.form-aside{display:block}.case-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.case-toolbar .search-field{grid-column:1/-1;min-width:0}.case-toolbar select{grid-column:1/-1;width:100%}.case-toolbar>span{grid-column:1/-1;margin:0}.case-row{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:7px}.case-row .status-pill{grid-column:2;justify-self:start}.case-arrow{grid-column:3;grid-row:1/3}.detail-grid{grid-template-columns:1fr}.detail-actions{width:100%;justify-content:stretch}.detail-actions button{flex:1}.case-step{display:grid;justify-items:center;text-align:center;gap:4px;font-size:8px}.case-step b{padding:0}.case-step:not(:last-child):after{top:12px;left:50%;right:-50%}.map-toolbar{display:grid;grid-template-columns:auto 1fr;align-items:center}.map-toolbar select{width:100%;min-width:0}.map-grid{gap:10px}.heatmap-stage{height:290px}.heat-pin{font-size:8px;padding:4px 5px;gap:3px}.heat-pin b{width:14px;height:14px;font-size:8px}.pin-anjo{left:18%;top:45%}.pin-centro{left:39%;top:56%}.pin-renascenca{left:59%;top:35%}.pin-cohab{left:79%;top:49%}.map-top{font-size:8px;padding:11px}.heatmap-footer{font-size:8px}.heat-gradient{width:70px}.region-panel{padding:17px}}
@media(max-width:390px){.container{width:calc(100% - 24px)}.hero h1{font-size:39px}.hero-actions .button{width:100%}.preview-card{width:100%}.floating-note{display:none}.app-view{padding:14px 9px}.side-tab{font-size:8px}.heatmap-stage{height:250px}.heat-pin span{max-width:63px;overflow:hidden;text-overflow:ellipsis}.pin-anjo{left:17%}.pin-cohab{left:79%}.case-progress{gap:2px}}
@media print{body{background:white;color:#111}.site-header,.hero,.problem-section,.flow-section,.lab-heading,.app-sidebar,.app-topbar,.view-head,.stat-grid,.overview-grid,.overview-shortcut,.case-toolbar,.case-list,.vision-section,.closing-section,.site-footer,.demo-undertext,.map-disclaimer,.detail-close,.detail-actions,.demo-toast{display:none!important}.lab-section{background:#fff;padding:0}.container{width:100%;max-width:none}.app-shell,.app-main{display:block;border:0;box-shadow:none;background:#fff}.app-view{padding:0;min-height:0}#view-overview,#view-new,#view-map{display:none!important}#view-cases,#case-detail{display:block!important}#case-detail{border:0;box-shadow:none;padding:0}.print-heading{display:flex;justify-content:space-between;border-bottom:2px solid #168e9b;padding-bottom:15px;margin-bottom:20px;font-size:14px}.media-preview{display:none}.guidance-box,.detail-explanation{print-color-adjust:exact}.detail-grid{grid-template-columns:1fr 1fr}}

/* Viewport containment: the previous off-canvas ambient layer widened the layout by 450px. */
html,body{width:100%;max-width:100%;min-width:0;overflow-x:clip;overscroll-behavior-x:none}
main,.site-header,.site-footer,.section-shell,.closing-section{max-width:100%;min-width:0}
.container,.hero-grid,.hero-copy,.hero-visual,.app-shell,.app-main,.app-view,.panel{min-width:0}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.flow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.overview-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.form-main,.form-aside,.map-grid>*{min-width:0}
@media(max-width:800px){.hero-grid,.problem-layout,.vision-grid,.app-shell,.overview-grid,.map-grid{grid-template-columns:minmax(0,1fr)}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){.flow-grid{grid-template-columns:minmax(0,1fr)}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card.accent-stat{grid-column:1/-1}.container{width:calc(100% - 30px)}.hero-visual{width:100%;max-width:100%}.preview-card{max-width:100%}.case-list,.recent-list{min-width:0}}
@media(max-width:390px){.container{width:calc(100% - 24px)}}
