#top-targeting-map .auth-gate{position:absolute;z-index:3000;inset:0;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#eef8f6,#f8fbfa 48%,#e4f2ef);}
#top-targeting-map .auth-gate[hidden],#top-targeting-map .auth-user[hidden]{display:none;}
#top-targeting-map .auth-card{width:min(420px,100%);padding:34px;border:1px solid #b7cfca;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(23,52,58,.16);text-align:center;}
#top-targeting-map .auth-brand{display:block;color:#0d7377;font-size:12px;font-weight:800;letter-spacing:.14em;}
#top-targeting-map .auth-card h1{margin:7px 0 8px;font-size:28px!important;}
#top-targeting-map .auth-card p{margin:0;color:#52666a;}
#top-targeting-map .google-signin-button{display:flex;justify-content:center;min-height:44px;margin-top:22px;}
#top-targeting-map .google-signin-button[aria-busy="true"]{pointer-events:none;opacity:.6;}
#top-targeting-map .auth-error{margin-top:16px!important;padding:10px;border-radius:6px;background:#fde8e7;color:#7a1b13!important;}
#top-targeting-map .auth-user{top:10px;right:240px;display:flex;align-items:center;gap:9px;padding:7px 9px;font-size:12px;}
#top-targeting-map .auth-user span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#top-targeting-map .auth-user button{padding:5px 8px;border:1px solid #aaa;border-radius:5px;background:#fff;cursor:pointer;}

#top-targeting-map{position:relative;width:100%;height:100vh;min-height:640px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#222;line-height:1.4;isolation:isolate;}
#top-targeting-map,#top-targeting-map *{box-sizing:border-box;}
#top-targeting-map h3{font-size:16px;font-weight:600;line-height:1.25;color:#222;}
#top-targeting-map input,#top-targeting-map select,#top-targeting-map textarea,#top-targeting-map button,#top-targeting-map label{font:inherit;color:inherit;}
#top-targeting-map #map{position:absolute;inset:0;width:100%;}
#top-targeting-map .hoarding-focus-scrim{position:absolute;z-index:1100;inset:0;pointer-events:none;background:rgba(248,250,250,.33);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility 0s linear .15s;}
#top-targeting-map.hoarding-form-open .hoarding-focus-scrim{opacity:1;visibility:visible;transition-delay:0s;}
#top-targeting-map #loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2000;background:white;padding:16px 24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.2);font-size:14px;}
#top-targeting-map .panel{position:absolute;z-index:1000;background:white;padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
#top-targeting-map .info-panel{top:10px;right:10px;max-width:220px;}
#top-targeting-map .legend{bottom:30px;right:10px;font-size:12px;}
#top-targeting-map .legend-item{display:flex;align-items:center;margin:4px 0;}
#top-targeting-map .legend-color{width:16px;height:16px;border-radius:3px;margin-right:8px;border:1px solid rgba(0,0,0,0.2);}
#top-targeting-map .layer-control{bottom:30px;left:10px;font-size:13px;}
#top-targeting-map .layer-control label{display:block;margin:4px 0;cursor:pointer;}
#top-targeting-map .maplibregl-popup-content{font-size:13px;padding:10px 14px;}
#top-targeting-map .popup-score{font-size:18px;font-weight:bold;color:#0d7377;}
#top-targeting-map .popup-warn{color:#e67e22;font-size:11px;margin-top:4px;}
#top-targeting-map .search-panel{top:10px;left:50%;transform:translateX(-50%);width:300px;padding:8px 10px;position:absolute;}
#top-targeting-map #search{width:100%;border:1px solid #ddd;border-radius:6px;padding:7px 10px;font-size:13px;outline:none;box-sizing:border-box;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 8px center;padding-left:28px;}
#top-targeting-map #search:focus{border-color:#0d7377;box-shadow:0 0 0 2px rgba(13,115,119,0.15);}
#top-targeting-map #search-results{position:absolute;top:calc(100% - 4px);left:10px;right:10px;background:white;border:1px solid #ddd;border-top:none;border-radius:0 0 6px 6px;overflow:hidden;display:none;box-shadow:0 4px 8px rgba(0,0,0,0.1);max-height:280px;overflow-y:auto;touch-action:manipulation;}
#top-targeting-map .sr-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;touch-action:manipulation;}
#top-targeting-map .sr-item:last-child{border-bottom:none;}
#top-targeting-map .sr-item:hover,#top-targeting-map .sr-item.active{background:#f0fafa;}
#top-targeting-map .sr-name{font-weight:600;font-size:13px;}
#top-targeting-map .sr-sub{font-size:11px;color:#888;margin-top:1px;}
#top-targeting-map .sr-tier{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle;}
#top-targeting-map .sr-cand{background:#0d7377;border-radius:50%;border:1px solid #fff;box-shadow:0 0 0 1px #0d7377;}
#top-targeting-map .popup-cand-suburbs{margin-top:8px;border-top:1px solid #eee;padding-top:6px;max-height:180px;overflow-y:auto;}
#top-targeting-map #debug-toggle{cursor:pointer;user-select:none;}
#top-targeting-map #debug-toggle:hover{color:#555;}
#top-targeting-map #debug-panel{font-size:11px;color:#444;margin-top:4px;line-height:1.9;border-top:1px solid #eee;padding-top:4px;}
#top-targeting-map .hoarding-controls{position:absolute;z-index:1000;top:110px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;}
#top-targeting-map .hoarding-controls .panel{position:static;}
#top-targeting-map .hoarding-toolbox{display:flex;align-items:center;gap:7px;width:236px;padding:9px;}
#top-targeting-map .hoarding-status-legend{width:150px;padding:9px 11px;font-size:11px;}
#top-targeting-map .hoarding-legend-toggle{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:0;border:0;background:transparent;font-size:12px;font-weight:700;text-align:left;cursor:pointer;}
#top-targeting-map .hoarding-legend-toggle svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s ease;}
#top-targeting-map .hoarding-legend-toggle[aria-expanded="false"] svg{transform:rotate(-90deg);}
#top-targeting-map #hoarding-legend-content[hidden]{display:none;}
#top-targeting-map #hoarding-legend-content{margin-top:4px;}
#top-targeting-map .hoarding-legend-item{display:flex;align-items:center;gap:7px;margin-top:3px;}
#top-targeting-map .hoarding-legend-marker{--hoarding-color:#e83e8c;position:relative;width:22px;height:22px;flex:0 0 auto;}
#top-targeting-map .hoarding-legend-marker::before{content:"OPP";position:absolute;top:1px;left:1px;display:grid;place-items:center;width:20px;height:12px;border:2px solid #fff;border-radius:1px;background:var(--hoarding-color);box-shadow:0 0 0 1px rgba(0,0,0,.3);color:#fff;font-size:6px;font-weight:800;line-height:1;z-index:2;}
#top-targeting-map .hoarding-legend-marker::after{content:"";position:absolute;top:13px;bottom:0;left:50%;width:3px;transform:translateX(-50%);background:#374151;box-shadow:0 0 0 1px #fff;z-index:1;}
#top-targeting-map .hoarding-legend-issue{display:grid;place-items:center;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#b42318;color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 0 0 1px rgba(0,0,0,.25);}
#top-targeting-map .hoarding-legend-notified{display:grid;place-items:center;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#176b3a;color:#fff;font-size:9px;font-weight:700;line-height:1;box-shadow:0 0 0 1px rgba(0,0,0,.25);}
#top-targeting-map .hoarding-tool{display:flex;align-items:center;gap:8px;flex:1;padding:7px 9px;border:1px solid #bbb;border-radius:6px;background:#fff;cursor:grab;font-weight:600;white-space:nowrap;}
#top-targeting-map .hoarding-tool:active{background:#f7f7f7;cursor:grabbing;}
#top-targeting-map .hoarding-tool.placing{box-shadow:0 0 0 3px rgba(232,62,140,.3);}
#top-targeting-map .hoarding-tool-marker{--hoarding-color:#e83e8c;position:relative;display:block;width:32px;height:34px;flex:0 0 auto;border:0;background:transparent;box-shadow:none;}
#top-targeting-map .hoarding-tool-marker::before{content:"OPP";position:absolute;top:0;left:1px;right:1px;display:grid;place-items:center;height:20px;border:3px solid #fff;border-radius:2px;background:var(--hoarding-color);box-shadow:0 0 0 1px rgba(0,0,0,.3),0 2px 5px rgba(0,0,0,.3);color:#fff;font-size:9px;font-weight:800;line-height:1;z-index:2;}
#top-targeting-map .hoarding-tool-marker::after{content:"";position:absolute;top:21px;bottom:0;left:50%;width:4px;transform:translateX(-50%);background:#374151;box-shadow:0 0 0 1px #fff;z-index:1;}
#top-targeting-map .hoarding-draft-marker,#top-targeting-map .hoarding-edit-origin-marker{--hoarding-color:#e83e8c;position:relative;display:block;width:0;height:0;border:0;background:transparent;box-shadow:none;}
#top-targeting-map .hoarding-draft-marker::before,#top-targeting-map .hoarding-edit-origin-marker::before{content:"OPP";position:absolute;left:-36px;bottom:32px;display:grid;place-items:center;width:68px;height:40px;border:6px solid #fff;border-radius:4px;background:var(--hoarding-color);box-shadow:0 0 0 1px rgba(0,0,0,.3),0 3px 7px rgba(0,0,0,.3);color:#fff;font-size:18px;font-weight:800;line-height:1;z-index:2;}
#top-targeting-map .hoarding-draft-marker::after,#top-targeting-map .hoarding-edit-origin-marker::after{content:"";position:absolute;left:-4px;bottom:0;width:8px;height:32px;background:#374151;box-shadow:0 0 0 2px #fff;z-index:1;}
#top-targeting-map .hoarding-draft-marker{cursor:grab;}
#top-targeting-map.hoarding-form-open .hoarding-draft-marker{z-index:1150;filter:drop-shadow(0 0 3px rgba(255,255,255,.95));}
#top-targeting-map .hoarding-edit-origin-marker::before{border:6px dashed var(--hoarding-color);background:rgba(255,255,255,.75);box-shadow:0 0 0 1px rgba(0,0,0,.25);color:var(--hoarding-color);}
#top-targeting-map .hoarding-edit-origin-marker::after{background:var(--hoarding-color);opacity:.65;}
#top-targeting-map .hoarding-draft-marker:active{cursor:grabbing;}
#top-targeting-map.hoardings-hidden .hoarding-draft-marker,#top-targeting-map.hoardings-hidden .hoarding-edit-origin-marker{display:none;}
#top-targeting-map.hoardings-hidden .hoarding-controls{display:none;}
#top-targeting-map .hoarding-drawer{position:absolute;z-index:1200;top:10px;right:10px;bottom:10px;width:390px;max-width:calc(100vw - 20px);overflow:hidden;border:1px solid #aaa;border-radius:9px;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.25);}
#top-targeting-map .hoarding-drawer[hidden]{display:none;}
#top-targeting-map .hoarding-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;height:100%;font-size:13px;}
#top-targeting-map .hoarding-form-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid #ddd;background:#fff;}
#top-targeting-map .hoarding-form-heading h3{margin:0;}
#top-targeting-map .hoarding-form-heading span{display:block;margin-top:2px;color:#666;font-size:11px;}
#top-targeting-map .hoarding-drawer-close{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;padding:0;border:1px solid transparent;border-radius:5px;background:#fff;color:#555;font-size:24px;line-height:1;cursor:pointer;}
#top-targeting-map .hoarding-drawer-close:hover{border-color:#ccc;background:#f5f5f5;}
#top-targeting-map .hoarding-form-scroll{min-height:0;overflow-y:auto;padding:12px 16px 20px;}
#top-targeting-map .hoarding-record-id{margin:0 0 10px;padding:8px 10px;border:1px solid #ccc;border-radius:5px;background:#f8f8f8;}
#top-targeting-map .hoarding-record-id[hidden]{display:none;}
#top-targeting-map .hoarding-record-id span{display:block;margin-bottom:2px;color:#555;font-size:11px;font-weight:600;}
#top-targeting-map .hoarding-record-id code{display:block;overflow-wrap:anywhere;color:#222;font-size:12px;user-select:all;}
#top-targeting-map .hoarding-required-note{margin:0 0 6px;color:#666;font-size:11px;}
#top-targeting-map .hoarding-required-marker{color:#b42318;font-weight:700;}
#top-targeting-map .hoarding-form label{display:block;margin-top:9px;font-weight:600;}
#top-targeting-map .hoarding-form input,#top-targeting-map .hoarding-form select,#top-targeting-map .hoarding-form textarea{display:block;width:100%;margin-top:3px;padding:7px 8px;border:1px solid #ccc;border-radius:5px;background:#fff;font-weight:400;}
#top-targeting-map .hoarding-form [aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 2px rgba(180,35,24,.12);}
#top-targeting-map .hoarding-form textarea{resize:vertical;}
#top-targeting-map .hoarding-guide{margin:7px 0 0;}
#top-targeting-map .hoarding-guide-button{display:inline-flex;align-items:center;gap:5px;padding:2px 0;border:0;background:transparent;color:#0d7377!important;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
#top-targeting-map .hoarding-guide-button:hover{color:#095f62!important;}
#top-targeting-map .hoarding-guide-button:focus-visible{outline:2px solid #0d7377;outline-offset:2px;}
#top-targeting-map .hoarding-guide-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#top-targeting-map .hoarding-guide[hidden],#top-targeting-map .hoarding-form-section[hidden]{display:none;}
#top-targeting-map .hoarding-form-section{margin-top:11px;border:1px solid #ccc;border-radius:6px;background:#fff;}
#top-targeting-map .hoarding-form-section summary{position:relative;padding:9px 30px 9px 11px;cursor:pointer;list-style:none;background:#f8f8f8;border-radius:6px;}
#top-targeting-map .hoarding-form-section summary::-webkit-details-marker{display:none;}
#top-targeting-map .hoarding-form-section summary::after{content:"›";position:absolute;top:50%;right:11px;transform:translateY(-50%) rotate(90deg);color:#666;font-size:20px;line-height:1;}
#top-targeting-map .hoarding-form-section[open] summary{border-bottom:1px solid #ddd;border-radius:6px 6px 0 0;}
#top-targeting-map .hoarding-form-section[open] summary::after{transform:translateY(-50%) rotate(-90deg);}
#top-targeting-map .hoarding-form-section summary>span{display:block;font-weight:700;}
#top-targeting-map .hoarding-form-section summary>small{display:block;overflow:hidden;margin-top:1px;color:#666;font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap;}
#top-targeting-map .hoarding-section-body{padding:1px 11px 12px;}
#top-targeting-map .hoarding-section-body>small{display:block;margin-top:6px;color:#666;line-height:1.3;}
#top-targeting-map .hoarding-current-issues-followup{margin-top:9px;padding:9px;border:1px solid #d69e2e;border-radius:5px;background:#fff8e1;}
#top-targeting-map .hoarding-current-issues-followup[hidden]{display:none;}
#top-targeting-map .hoarding-issue-updated{color:#66531a;font-size:11px;}
#top-targeting-map .hoarding-form .hoarding-checkbox{display:flex;align-items:flex-start;gap:7px;font-weight:400;line-height:1.35;}
#top-targeting-map .hoarding-form .hoarding-checkbox input{width:auto;margin:2px 0 0;flex:0 0 auto;}
#top-targeting-map .hoarding-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
#top-targeting-map .hoarding-coordinates{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:#666;font-size:11px;}
#top-targeting-map .hoarding-created{margin-top:6px;color:#666;font-size:11px;}
#top-targeting-map .hoarding-form-errors{margin:0 0 10px;padding:9px 10px;border:1px solid #b42318;border-radius:6px;background:#fde8e7;color:#7a1b13;}
#top-targeting-map .hoarding-form-errors[hidden]{display:none;}
#top-targeting-map .hoarding-form-errors ul{margin:5px 0 0;padding-left:18px;}
#top-targeting-map .hoarding-conflict-warning{margin-top:12px;padding:10px;border:1px solid #d69e2e;border-radius:6px;background:#fff8e1;color:#5f4300;}
#top-targeting-map .hoarding-conflict-warning[hidden]{display:none;}
#top-targeting-map .hoarding-conflict-warning strong{display:block;}
#top-targeting-map .hoarding-conflict-warning ul{margin:6px 0;padding-left:20px;}
#top-targeting-map .hoarding-conflict-warning p{margin:6px 0 0;line-height:1.35;}
#top-targeting-map .hoarding-discard-warning{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:9px 16px;border-top:1px solid #d69e2e;background:#fff8e1;}
#top-targeting-map .hoarding-discard-warning[hidden]{display:none;}
#top-targeting-map .hoarding-discard-warning span{margin-right:auto;font-weight:600;color:#5f4300;}
#top-targeting-map .hoarding-discard-warning button{padding:6px 9px;border-radius:5px;cursor:pointer;font-weight:600;}
#top-targeting-map .hoarding-form-actions{display:flex;justify-content:flex-end;gap:8px;margin:0;padding:11px 16px;border-top:1px solid #ddd;background:#fff;}
#top-targeting-map .hoarding-form-actions button{padding:7px 14px;border-radius:5px;cursor:pointer;font-weight:600;}
#top-targeting-map .button-primary{border:1px solid #0d7377;background:#0d7377;color:#fff!important;}
#top-targeting-map .button-secondary{border:1px solid #bbb;background:#fff;}
#top-targeting-map .hoarding-site-popup{min-width:190px;}
#top-targeting-map .hoarding-site-popup>strong,#top-targeting-map .hoarding-delete-confirmation>strong{display:block;margin-bottom:4px;}
#top-targeting-map .hoarding-popup-issue{margin-top:7px;padding:4px 7px;border-radius:4px;background:#fde8e7;color:#8a1c13;font-weight:600;}
#top-targeting-map .hoarding-popup-manager-notified{display:inline-block;margin-left:7px;color:#176b3a;}
#top-targeting-map .hoarding-popup-actions{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:10px;}
#top-targeting-map .hoarding-popup-actions button{min-height:32px;padding:5px 11px;border-radius:5px;cursor:pointer;font-weight:600;}
#top-targeting-map .hoarding-popup-actions button:disabled{cursor:wait;opacity:.65;}
#top-targeting-map .button-danger{border:1px solid #b42318;background:#b42318;color:#fff;}
#top-targeting-map .hoarding-edit-button{display:inline-flex;align-items:center;gap:6px;}
#top-targeting-map .hoarding-edit-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#top-targeting-map .hoarding-trash-button{display:inline-flex;align-items:center;justify-content:center;width:34px;padding:5px!important;border:1px solid #b42318;background:#fff;color:#b42318;}
#top-targeting-map .hoarding-trash-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#top-targeting-map .hoarding-delete-confirmation{max-width:260px;}
#top-targeting-map .hoarding-delete-confirmation p{margin:6px 0 0;line-height:1.35;}
@media (max-width:700px){
  #top-targeting-map .info-panel{display:none;}
  #top-targeting-map .search-panel{top:max(10px,env(safe-area-inset-top,0px));}
  #top-targeting-map .hoarding-controls{top:70px;left:10px;top:max(70px,calc(env(safe-area-inset-top,0px) + 60px));left:max(10px,env(safe-area-inset-left,0px));}
  #top-targeting-map .layer-control{bottom:max(30px,env(safe-area-inset-bottom,0px));left:max(10px,env(safe-area-inset-left,0px));}
  #top-targeting-map .maplibregl-ctrl-top-left{top:env(safe-area-inset-top,0px);left:env(safe-area-inset-left,0px);}
  #top-targeting-map .maplibregl-ctrl-top-right{top:env(safe-area-inset-top,0px);right:env(safe-area-inset-right,0px);}
  #top-targeting-map .maplibregl-ctrl-bottom-left{bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);}
  #top-targeting-map .maplibregl-ctrl-bottom-right{right:env(safe-area-inset-right,0px);bottom:env(safe-area-inset-bottom,0px);}
  #top-targeting-map .hoarding-drawer{top:6px;right:6px;bottom:auto;left:6px;width:auto;height:calc(60vh - 6px);max-width:none;max-height:calc(60vh - 6px);top:max(6px,env(safe-area-inset-top,0px));right:max(6px,env(safe-area-inset-right,0px));left:max(6px,env(safe-area-inset-left,0px));height:calc(60vh - max(6px,env(safe-area-inset-top,0px)));height:calc(60dvh - max(6px,env(safe-area-inset-top,0px)));max-height:calc(60vh - max(6px,env(safe-area-inset-top,0px)));}
  #top-targeting-map .legend{display:none;}
  #top-targeting-map .hoarding-form input,#top-targeting-map .hoarding-form select,#top-targeting-map .hoarding-form textarea{font-size:16px;}
  #top-targeting-map .hoarding-form input,#top-targeting-map .hoarding-form select{min-height:44px;}
  #top-targeting-map .hoarding-drawer-close{width:44px;height:44px;}
  #top-targeting-map .hoarding-legend-toggle{min-height:44px;}
  #top-targeting-map .hoarding-tool{min-height:44px;}
  #top-targeting-map .hoarding-guide-button{min-height:44px;}
  #top-targeting-map .hoarding-form .hoarding-checkbox{align-items:center;min-height:44px;}
  #top-targeting-map .hoarding-form .hoarding-checkbox input{width:22px;height:22px;}
  #top-targeting-map .hoarding-form-actions button,#top-targeting-map .hoarding-discard-warning button,#top-targeting-map .hoarding-popup-actions button{min-height:44px;}
  #top-targeting-map.hoarding-form-open .search-panel,#top-targeting-map.hoarding-form-open .hoarding-controls,#top-targeting-map.hoarding-form-open .layer-control,#top-targeting-map.hoarding-form-open .maplibregl-control-container{visibility:hidden;opacity:0;pointer-events:none;}
}
