.violation-map-panel{position:relative;background:white;border:1px solid #dce5ef;border-radius:12px;padding:14px;margin:18px 0;isolation:isolate;min-width:0}.vm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vm-toolbar span{font-size:12px;color:#62798d}.vm-toolbar button{font-size:12px;padding:8px 10px}.vm-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;margin:12px 0}.violation-map{height:410px;position:relative;z-index:0;border-radius:9px;background:#edf3f8}.vm-note{display:block;color:#62798d;margin:12px 0 0;line-height:1.5}.vm-full{position:fixed;inset:12px;z-index:5000;display:flex;flex-direction:column;margin:0}.vm-full .violation-map{height:auto;flex:1;min-height:200px}.vm-popup{min-width:0;overflow-wrap:anywhere}.vm-popup-list{max-height:280px;overflow:auto}.vm-popup-item{padding:10px 0;border-bottom:1px solid #dce5ef}.vm-popup-item p{margin:5px 0}.vm-popup-item button{display:block;margin:8px 0}.vm-popup>a{display:block;margin-top:10px}.open-card{cursor:pointer}.open-card:hover{border-color:#4a9bbe}.open-card:focus-visible{outline:3px solid #4a9bbe;outline-offset:2px}.work-report-panel{border-top:1px solid #dce5ef;margin-top:22px;padding-top:18px}.wr-form{display:grid;gap:12px;background:#f1f6fb;padding:14px;border-radius:12px}.wr-form label{display:grid;gap:8px;min-width:0}.wr-form input[type=file]{width:100%;min-width:0;max-width:100%}.wr-form textarea{font:inherit;width:100%;padding:10px;border:1px solid #ccd8e3;border-radius:8px;box-sizing:border-box}.wr-selected>div{display:flex;gap:8px;align-items:center;justify-content:space-between;overflow-wrap:anywhere}.wr-selected button{padding:6px 10px}.wr-report{margin:15px 0;padding:14px;border:1px solid #dce5ef;border-radius:12px;overflow-wrap:anywhere}.wr-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:12px 0}.wr-gallery img{display:block;width:100%;height:150px;object-fit:contain;background:#edf3f8;border-radius:8px}.wr-gallery small{display:block;margin-top:5px;font-size:10px;overflow-wrap:anywhere}.wr-cloud{display:block;color:#62798d;line-height:1.5}.wr-status{font-size:13px;line-height:1.5}.mrmi-view-switch button{display:flex;align-items:center;gap:5px;width:auto!important;padding:8px 12px!important}@media(max-width:650px){.violation-map{height:330px}.vm-toolbar strong{width:100%}.vm-full{inset:5px}.wr-form{padding:12px}.wr-gallery img{height:130px}}

/* Wide map workspace, shared by the main cabinet and master browser. */
.mrmi-map-mode .mrmi-main{display:block}.mrmi-map-mode .mrmi-composer{position:static;max-width:none;margin-top:14px}.mrmi-map-pick{padding:18px;background:white;border:1px solid var(--line);border-radius:12px;margin-top:18px}.mrmi-map-pick>summary{cursor:pointer;font-size:13px;font-weight:600}.mrmi-map-pick .mrmi-composer{box-shadow:none}.violation-map{height:clamp(520px,72dvh,860px)}.mrmi-map-mode .violation-map-panel{margin:0;border:0;border-radius:0;padding:18px}.vm-toolbar{gap:10px 14px}.vm-toolbar strong{font-size:16px;margin-right:auto}.vm-toolbar button{min-height:40px;transition:background .16s,border-color .16s}.vm-full.violation-map-panel{border:1px solid #dce5ef;border-radius:12px;padding:16px}.vm-full .violation-map{height:auto;min-height:0}.mrmi-map-full-open{overflow:hidden}.mrmi-card,.photo-thumbnail{transition:border-color .16s,background .16s,box-shadow .16s}.photo-thumbnail{padding:0!important;border:1px solid transparent!important;border-radius:9px;display:block!important;position:relative;min-width:0;width:100%;text-align:left;background:#f0f4f8;cursor:zoom-in;overflow:hidden}.photo-thumbnail:hover{border-color:#72a8ca!important;box-shadow:0 3px 12px #102b4e15}.photo-thumbnail:focus-visible{outline:3px solid #438bc2;outline-offset:3px}.photo-thumbnail img{display:block;max-width:100%;width:100%;margin:0;transition:opacity .16s}.photo-thumbnail small{padding:7px 9px;display:block;overflow-wrap:anywhere;color:#58718b}.gallery,.wr-gallery{align-items:start}.gallery .photo-thumbnail img{height:190px;object-fit:contain}.wr-gallery .photo-thumbnail img{height:150px;object-fit:contain}
/* A second native dialog keeps the violation card and its scroll position underneath. */
dialog.sonar-photo-viewer{width:min(1180px,calc(100% - 24px));max-width:calc(100% - 24px);height:min(900px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid #526277;border-radius:14px;background:#101d2c;color:#f2f6fb;overflow:hidden;box-sizing:border-box;box-shadow:0 24px 90px #0008;animation:pv-appear .16s ease-out}dialog.sonar-photo-viewer[open]{display:flex;flex-direction:column}dialog.sonar-photo-viewer::backdrop{background:#07111de0}.sonar-photo-viewer button{font:inherit;border:1px solid #ffffff30;background:#ffffff10;color:#fff;cursor:pointer;border-radius:9px;min-width:44px;min-height:44px}.sonar-photo-viewer button:hover:not(:disabled){background:#ffffff25}.sonar-photo-viewer button:focus-visible{outline:3px solid #80d2ff;outline-offset:2px}.sonar-photo-viewer button:disabled{opacity:.25;cursor:default}.pv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 18px;border-bottom:1px solid #ffffff20;flex-shrink:0}.pv-toolbar>div{display:flex;align-items:center;gap:14px;min-width:0}.pv-title{font-size:14px;font-weight:600;overflow-wrap:anywhere}.pv-counter{font-size:12px;color:#b9c9da;white-space:nowrap}.pv-stage{position:relative;flex:1;min-height:0;touch-action:pan-y}.pv-picture{position:absolute;inset:10px 64px;display:grid;place-items:center}.pv-picture>img{display:block;width:100%;height:100%;object-fit:contain;min-height:0;min-width:0;animation:pv-appear .16s ease-out;transition:opacity .16s}.pv-picture.is-loading>img{opacity:.3}.pv-loading{position:absolute;inset:0 65px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;text-align:center;font-size:13px;color:#d7e3ee;pointer-events:none}.pv-loading button{pointer-events:auto;padding:8px 12px}.pv-loading[hidden],.sonar-photo-viewer [hidden]{display:none!important}.pv-spinner{width:24px;height:24px;border:2px solid #ffffff30;border-top-color:#91d3f5;border-radius:50%;animation:pv-spin .8s linear infinite}.pv-loading:has(.pv-retry:not([hidden])) .pv-spinner{display:none}.pv-prev,.pv-next{position:absolute;top:50%;transform:translateY(-50%);font-size:32px!important;line-height:1}.pv-prev{left:10px}.pv-next{right:10px}.pv-footer{flex-shrink:0;padding:10px 18px 14px;border-top:1px solid #ffffff20;display:grid;gap:9px}.pv-caption{font-size:12px;color:#d7e3ee;overflow-wrap:anywhere;max-height:38px;overflow:auto}.pv-footer>small{font-size:10px;color:#91a6bc}.pv-thumbnails{display:flex;overflow-x:auto;gap:8px;overscroll-behavior:contain;max-width:100%;padding:3px}.pv-thumbnails button{padding:2px;flex:0 0 70px;height:54px;min-width:0;min-height:0;border:2px solid transparent;overflow:hidden}.pv-thumbnails button[aria-pressed=true]{border-color:#8ad7ff;background:#215b7d}.pv-thumbnails img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}.sonar-photo-viewer .pv-close{flex-shrink:0;font-size:18px}@keyframes pv-appear{from{opacity:0}to{opacity:1}}@keyframes pv-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.violation-map{height:clamp(380px,62dvh,650px)}.mrmi-map-mode .violation-map-panel{padding:12px}.vm-toolbar strong{width:100%;font-size:15px}.vm-toolbar span{width:100%;font-size:11px}.vm-toolbar button{flex:1}.vm-full.violation-map-panel{padding:10px}.mrmi-view-switch{max-width:100%;flex-wrap:wrap}.mrmi-register-head{flex-wrap:wrap;gap:12px}.mrmi-map-pick{padding:13px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery .photo-thumbnail img{height:155px}dialog.sonar-photo-viewer{width:calc(100% - 12px);max-width:calc(100% - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:10px}.pv-toolbar{padding:10px 12px}.pv-toolbar>div{display:block}.pv-counter{display:block;margin-top:5px}.pv-title{font-size:13px}.pv-picture{inset:8px}.pv-prev,.pv-next{top:auto;bottom:12px;transform:none;z-index:1;background:#0b172bcc!important}.pv-loading{inset:0 20px}.pv-footer{padding:10px 12px}.pv-footer>small{display:none}.pv-thumbnails button{flex-basis:60px;height:48px}.pv-caption{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sonar-photo-viewer,.pv-picture>img,.pv-spinner{animation:none!important}.photo-thumbnail,.photo-thumbnail img,.pv-picture>img,.mrmi-card,.vm-toolbar button{transition:none!important}}
