html,body{max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-dialog{width:calc(100% - 1rem);margin:.5rem auto}.modal-content{max-height:calc(100dvh - 1rem)}.modal-body{overflow:auto}.responsive-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.responsive-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.touch-action{min-height:44px}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.photo-thumb{position:relative;aspect-ratio:1;border:1px solid #d5e2eb;border-radius:10px;overflow:hidden;background:#edf5fa}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb button{position:absolute;right:5px;top:5px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#b42318;box-shadow:0 2px 8px #0003}.camera-actions{display:flex;flex-wrap:wrap;gap:8px}.camera-actions .btn{flex:1 1 180px}.camera-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:991.98px){.content,.app-main{padding:18px!important}.modal-xl{max-width:calc(100% - 1rem)}.topbar,.app-navbar{height:auto!important;min-height:64px}.navbar-brand strong{white-space:normal}.forecast-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}}
@media(max-width:575.98px){body{font-size:.94rem}.content,.app-main{padding:12px!important}.modal-dialog{width:100%;height:100%;margin:0}.modal-content{height:100%;max-height:100dvh;border-radius:0!important}.modal-header,.modal-body,.modal-footer{padding:12px}.modal-footer{flex-wrap:wrap}.modal-footer .btn{flex:1 1 130px}.row>[class*="col-"]{min-width:0}.btn{white-space:normal}.lot-grid,.lots,.responsive-card-grid{grid-template-columns:1fr!important}.quadra-toggle{padding:13px!important}.quadra-title{font-size:.9rem}.forecast-task{padding:12px!important}.forecast-task-actions{width:100%;justify-content:flex-end}.photo-gallery{grid-template-columns:repeat(3,1fr)}}
body:not(:has(.idi-system-footer))::after {
  content: "IdiDeveloper - Developer: Idiframk Silva.";
  display: block;
  position: relative;
  z-index: 20;
  padding: 12px 20px;
  text-align: center;
  background: #073b70;
  color: #fff;
  font: 600 12px/1.4 system-ui, sans-serif;
  letter-spacing: .02em;
}
