.recovery-hidden,.recovery-view[hidden],.recovery-menu[hidden],.label-form [hidden]{display:none!important}
.recovery-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-left:auto;position:relative;min-width:0;max-width:100%}
.recovery-icon-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}
.recovery-menu-wrap{position:relative}.recovery-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:1002;width:245px;max-width:calc(100vw - 40px);box-sizing:border-box;overflow-wrap:anywhere;padding:6px;background:#fff;border:1px solid #cbd8cf;border-radius:12px;box-shadow:0 10px 30px #153b2226}
.recovery-menu a{display:block;padding:13px 12px;color:#193c29;text-decoration:none;border-radius:7px}.recovery-menu a:hover,.recovery-menu a:focus{background:#edf5ef}
.recovery-view{margin:20px 0}.recovery-back{margin-bottom:18px}.recovery-title h2,.barcode-panel h2{margin:0 0 10px}.recovery-title p,.barcode-panel p{line-height:1.55}
.recovery-map-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0 12px}.recovery-map-controls label{display:flex;align-items:center;gap:8px;flex:1}.recovery-map-controls input{width:auto;margin:0}
.recovery-map-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;margin-top:16px;align-items:start}
#recovery-map{height:65vh;min-height:420px;max-height:740px;border:1px solid #c7d9ca;border-radius:14px;isolation:isolate;z-index:0;background:#e5ece6}
#map-location-list{max-height:65vh;overflow:auto;padding-right:4px}.recovery-location-card{background:#fff;border:1px solid #d8e4db;border-radius:12px;padding:16px;margin:0 0 12px;overflow-wrap:anywhere}.recovery-location-card h3{margin:0 0 10px;font-size:1.06rem}.recovery-location-card p{margin:5px 0;line-height:1.5;font-size:.86rem}.recovery-location-card a,#tbody a,#suggestions a{color:#215e3b;text-decoration:underline}.location-address{font-weight:600}.location-articles{padding-left:18px;margin:10px 0;font-size:.86rem;line-height:1.6}.location-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.location-actions button,.location-actions a{font-size:.8rem;padding:9px 11px;min-height:36px;text-decoration:none}
.leaflet-popup-content .recovery-location-card{padding:0;margin:0;border:0;box-shadow:none}.leaflet-popup-content{line-height:1.5}.rubbiz-map-pin{background:#285b38;color:white;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 9px #0005;text-align:center;display:grid!important;place-items:center;font:700 13px system-ui,sans-serif}.rubbiz-map-pin span{line-height:1}
.barcode-panel{padding:24px;margin:20px 0}.label-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:20px 0}.label-form label{display:flex;flex-direction:column;gap:7px;font-weight:600;flex:1;min-width:160px}.label-form input,.label-form select{min-height:45px;width:100%;box-sizing:border-box}.label-form button{min-height:45px}.label-form label:first-child{max-width:150px}.label-print-link{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;text-decoration:none;border-radius:8px}.label-batch{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #e0e9e2}.label-batch .footnote{margin:6px 0}.label-batch a{flex:none}
@media(max-width:760px){.recovery-nav{margin-left:0;width:100%}.recovery-menu-wrap{position:static}.recovery-menu{left:0;right:auto;max-width:100%;width:280px}.page-heading{flex-wrap:wrap}.recovery-map-layout{grid-template-columns:1fr}#recovery-map{grid-row:1;height:52vh;min-height:330px}#map-location-list{max-height:none}.recovery-map-controls{gap:8px}.recovery-map-controls label{flex-basis:100%;margin-bottom:8px}.barcode-panel{padding:18px}.label-batch{align-items:flex-start;flex-direction:column}.label-form{display:grid;grid-template-columns:1fr}.label-form label:first-child{max-width:none}.recovery-location-card{padding:14px}}

.recovery-article-log{display:inline-block;color:#215e3b;text-decoration:underline;text-underline-offset:3px;padding:6px 0;overflow-wrap:anywhere}

.label-form small{font-size:.75rem;font-weight:400;color:#53695e}

/* Named vehicles and the selected participant stay legible on a phone. */
[data-kind] svg {width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.vehicle-choice {margin:16px 0;padding:16px;background:#f1f6f2;border-radius:12px}
.vehicle-choice label {display:block;font-weight:700;margin-bottom:8px}
.vehicle-choice select {width:100%;max-width:100%;padding:12px;border:1px solid #cdd9d1;border-radius:8px;background:white;font:inherit}
.vehicle-choice button {margin-top:10px}
.vehicle-form {display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.vehicle-form label {display:flex;flex:1 1 230px;flex-direction:column;gap:7px}
.vehicle-form input {width:100%;box-sizing:border-box;padding:12px;border:1px solid #cdd9d1;border-radius:8px;font:inherit}
.vehicle-row {display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:16px 0;border-top:1px solid #dfe7e1}
#photo-size-status {overflow-wrap:anywhere}

#stats {display:block;margin:14px 0}
.inventory-stats-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.inventory-stats-heading strong {font-size:16px}
.inventory-all {padding:7px 12px!important;font-size:12px!important}
.inventory-stats-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.inventory-stat {display:flex;align-items:center;gap:10px;text-align:left;padding:13px!important;border:1px solid #dce6df!important;border-radius:14px!important;background:#fff!important;color:#214c3d!important;box-shadow:none!important;min-width:0}
.inventory-stat:hover {background:#edf5ef!important}
.inventory-stat[aria-pressed="true"] {border-color:#297451!important;background:#e6f2e9!important;box-shadow:inset 0 0 0 1px #297451!important}
.inventory-stat-icon {display:flex;width:30px;height:30px;align-items:center;justify-content:center;flex-shrink:0;background:#eff5ee;border-radius:9px}
.inventory-stat-icon svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.inventory-stat-number {font-size:26px;line-height:1;font-weight:750}
.inventory-stat-text {font-size:12px;line-height:1.3;font-weight:650;min-width:0;overflow-wrap:anywhere}
.inventory-stat-text small {display:block;font-size:10px;font-weight:400;color:#61726a;margin-top:4px}
.inventory-bottom-actions {display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:0 18px 18px}
.recovery-menu button {display:block;width:100%;text-align:left;border:0!important;background:transparent!important;border-radius:8px!important;padding:12px!important;color:inherit!important;font:inherit!important;box-shadow:none!important}
.recovery-menu button:hover {background:#edf5ef!important}
@media(max-width:760px) {
 .inventory-stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .inventory-stat {padding:10px!important;gap:7px}
 .inventory-stat-number {font-size:23px}
 .inventory-stat-icon {width:25px;height:28px}
 .inventory-stat-text {font-size:11px}
 .inventory-stats-heading strong {font-size:14px}
 .inventory-bottom-actions {justify-content:flex-start;padding:0 12px 12px}
}

/* Compact navigation and table actions. */
.page-heading {align-items:center;margin-bottom:12px!important}
.page-heading .recovery-nav {margin-left:0;width:auto}
.page-heading .backend-nav {margin-left:auto}
.page-heading .recovery-menu {left:0;right:auto;max-width:calc(100vw - 40px)}
.table-filter-reset {display:flex!important;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px!important;padding:6px!important;margin-top:9px;border-radius:8px!important}
.table-filter-reset svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.table-filter-reset .filter-cross {stroke:#a54c48;stroke-width:2.1}
.inventory-bottom-search {padding:0 18px 16px}
.inventory-bottom-search .search {width:100%;box-sizing:border-box}
.article-log-row {cursor:pointer}
.article-log-row:hover td,.article-log-row:focus td {background:#eff6ef}
.article-log-row:focus {outline:2px solid #2b7654;outline-offset:-2px}
.history-entry time,.history-entry>strong {display:block;margin-bottom:6px}
.history-scanner {line-height:1.7}
.history-scanner a {color:#215e3b;text-decoration:underline}
@media(max-width:760px){
 .page-heading {gap:10px!important}
 .page-heading .recovery-nav {width:auto;position:static}
 .page-heading {position:relative}
 .page-heading .backend-nav {margin-left:0;width:100%}
 .page-heading .recovery-menu {top:48px;left:0;width:280px;max-width:100%}
 .inventory-bottom-search {padding:0 12px 14px}
}

.admin-participant-picker {min-width:0}
.admin-participant-picker .participant-options {z-index:20;max-height:260px;overflow:auto}
.admin-participant-picker .participant-option-address {white-space:normal}

/* Build popup details only when opened; the optional list renders 25 places at a time. */
.recovery-map-layout {grid-template-columns:minmax(0,1fr);gap:12px}
#map-list-details {padding:12px 0}
#map-list-details summary {cursor:pointer;font-weight:600;color:#254d39}
#map-location-list {max-height:55vh;padding:10px 3px 0}
#map-list-more[hidden] {display:none!important}
.recovery-compact-popup .leaflet-popup-content {margin:11px 15px 10px 12px;line-height:1.25}
.recovery-compact-popup .recovery-location-card h3 {font-size:14px;margin:0 14px 5px 0;line-height:1.25}
.recovery-compact-popup .recovery-location-card p {margin:2px 0;line-height:1.25;font-size:12px}
.recovery-compact-popup .recovery-location-card strong {font-size:12px}
.recovery-compact-popup .location-articles {margin:5px 0;padding-left:15px;line-height:1.25;font-size:12px}
.recovery-compact-popup .recovery-article-log {padding:2px 0}
.recovery-compact-popup .location-actions {margin-top:6px}
.recovery-compact-popup .location-actions a {min-height:28px;padding:5px 8px;font-size:11px}
.recovery-compact-popup .recovery-location-card .footnote {font-size:10px;margin-top:5px}
.route-copy-text {width:100%;height:50vh;box-sizing:border-box;font:13px/1.5 system-ui,sans-serif}
#map-copy-status {margin:7px 0}

.vehicle-panel {font-size:13px}
.vehicle-panel h2 {font-size:21px}
.vehicle-panel p {font-size:13px}
.vehicle-panel .vehicle-form {gap:10px}
.vehicle-panel input,.vehicle-panel button {font-size:13px}
.vehicle-row {padding:10px 0;align-items:center;flex-wrap:nowrap}
.vehicle-row-info {min-width:0;display:flex;flex:1;flex-direction:column;gap:4px;font-size:13px;overflow-wrap:anywhere}
.vehicle-row-info span {font-size:12px;color:#54695b}
.vehicle-row-actions {display:flex;gap:6px;flex-shrink:0}
.vehicle-icon-action {width:36px;height:36px;min-height:36px!important;padding:8px!important;display:grid;place-items:center}
.vehicle-icon-action svg {width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vehicle-remove {color:#9e413b!important}
.vehicle-is-deleted {opacity:.65}
.vehicle-deleted-toggle {display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0}
.vehicle-deleted-toggle input {width:auto;margin:0}
.vehicle-edit-form {display:grid;gap:14px;font-size:14px}
.vehicle-edit-form label {display:grid;gap:6px}
.vehicle-edit-form input {width:100%;box-sizing:border-box}
.vehicle-dialog-actions {display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:760px){.vehicle-icon-action{width:40px;height:40px;min-height:40px!important}}

#map-unknown-locations[hidden],#map-unknown-locations button[hidden] {display:none!important}
#map-unknown-locations h3 {font-size:14px;margin:8px 0}
.unknown-location {padding:8px 0;border-bottom:1px solid #d9e1d8;min-width:0}
.unknown-location-title {display:flex;align-items:baseline;gap:8px;justify-content:space-between;font-size:12px}
.unknown-location-title strong {overflow-wrap:anywhere}
.unknown-location-title small {flex-shrink:0;color:#6b776c;font-size:10px}
.unknown-location-address {margin:3px 0!important;font-size:11px;line-height:1.3;overflow-wrap:anywhere}
.unknown-location-contacts {display:flex;gap:10px;align-items:center;min-width:0;font-size:11px;line-height:1.4}
.unknown-location-contacts a {color:#215e3b;padding:4px 0}
.unknown-location-contacts>:first-child {flex-shrink:0}
.unknown-location-contacts>:last-child {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#map-unknown-locations>button {font-size:12px;padding:7px 10px;margin-top:8px}
