/* Shared Zone Patrol interaction polish. Keep the existing map and brand. */
:focus-visible{outline:2px solid #33d1ff;outline-offset:3px}
button:disabled{cursor:not-allowed}
.sync-banner{position:fixed;z-index:21000;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:9px 13px;border:1px solid #8b6934;border-radius:12px;background:#302719;color:#ffe3ac;font-size:.875rem;line-height:1.4;box-shadow:0 5px 20px #0008;text-align:center}
.sync-banner[hidden]{display:none}
.calls-refresh{display:flex;gap:8px;align-items:center}
.calls-error{padding:12px;margin:8px 0;color:#ffd7de;background:#331824;border:1px solid #713849;border-radius:10px;font-size:.875rem}
.photo-tile img{object-fit:cover}
.photo-upload-status:empty{display:none}
.space-call-note{font-size:16px!important}
.account-card{overflow:auto}
.status-btn,.notes-btn,.edit-btn,.hold-btn,.nav-btn{min-height:42px;font-size:.875rem}
.seg button{min-height:40px;font-size:.875rem}
.address,.notes,.modal-address,.form-field label,.account-menu span,.auth-help,.field-hint{font-size:.875rem}
.notes{line-height:1.5}
.card h2{font-size:1rem}
.stat span{font-size:.75rem}
.modal-card{scrollbar-gutter:stable;overscroll-behavior:contain}
@media(max-width:520px){header{gap:8px;padding-left:10px;padding-right:10px}.head-actions{gap:5px}.head-actions .icon-btn{padding-left:8px;padding-right:8px;min-height:42px;font-size:.8125rem}.title h1{font-size:.95rem}.badge.account-button{flex:0 0 40px}.modal{padding:8px}.space-call-actions button{min-height:44px}.account-heading p{font-size:.8125rem}.account-role-lock{font-size:.75rem}.space-calls-title{gap:8px;align-items:flex-start}.calls-refresh{gap:5px;flex-wrap:wrap;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
