:root {
  --ink: rgba(0, 0, 0, .94);
  --muted: #615d59;
  --faint: #a39e98;
  --paper: #fff;
  --warm: #f6f5f4;
  --blue: #0075de;
  --blue-soft: #f2f9ff;
  --green: #1a7f4b;
  --border: 1px solid rgba(0, 0, 0, .1);
  --shadow: rgba(0,0,0,.04) 0 4px 18px, rgba(0,0,0,.027) 0 2px 8px;
}
[hidden] { display: none !important; }
* { box-sizing: border-box; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; clip-path: inset(50%) !important; }
html, body { height: 100%; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--warm); }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible { outline: 2px solid #097fe8; outline-offset: 2px; }
.topbar { min-height: 138px; padding: 24px 32px 20px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; background: var(--paper); border-bottom: var(--border); }
.kicker { font-size: 11px; font-weight: 700; letter-spacing: .11em; color: var(--muted); margin-bottom: 8px; }
h1 { margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: 1; letter-spacing: -2px; }
.subtitle { margin: 10px 0 0; color: var(--muted); font-size: 15px; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.capture-launch, .outing-launch { min-height: 44px; border: 0; border-radius: 999px; padding: 10px 16px; font-weight: 700; }
.capture-launch { background: var(--ink); color: #fff; }
.outing-launch { border: var(--border); background: var(--paper); color: var(--ink); }
.utility-menu { position: relative; }
.utility-menu summary { width: 44px; height: 44px; display: grid; place-items: center; border: var(--border); border-radius: 50%; background: var(--paper); cursor: pointer; color: var(--muted); letter-spacing: 2px; list-style: none; }
.utility-menu summary::-webkit-details-marker { display: none; }
.utility-menu summary:focus-visible { outline: 2px solid #097fe8; outline-offset: 2px; }
.utility-menu-popover { position: absolute; z-index: 1100; top: calc(100% + 7px); right: 0; min-width: 250px; padding: 6px; border: var(--border); border-radius: 9px; background: var(--paper); box-shadow: var(--shadow); }
.utility-menu-popover > button { width: 100%; min-height: 44px; border: 0; border-radius: 6px; background: transparent; padding: 9px 12px; text-align: left; }
.utility-menu-popover > button:hover { background: var(--warm); }
.utility-share-status { max-width: 238px; min-height: 0; margin: 0; padding: 0 12px; color: var(--muted); font-size: 11px; line-height: 1.4; }
.utility-share-status:not(:empty) { min-height: 34px; padding-top: 5px; padding-bottom: 7px; }
#forgetPrivate, #manageHomeOrigin, #manageCollections, #manageCardBenefits { min-height: 44px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 9px 13px; }
dialog { width: min(440px, calc(100vw - 24px)); border: 0; border-radius: 12px; padding: 0; box-shadow: 0 20px 70px rgba(0,0,0,.25); }
dialog::backdrop { background: rgba(0,0,0,.35); }
.settings-panel { padding: 20px; display: grid; gap: 20px; }
.settings-hint { margin: -8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.settings-panel label { display: flex; gap: 10px; align-items: center; min-height: 44px; }
.settings-panel input { width: 22px; min-height: 22px; }
.settings-heading { display: flex; justify-content: space-between; align-items: center; }
.settings-heading h2 { margin: 0; }
.settings-heading button { width: 44px; height: 44px; border: 0; background: transparent; font-size: 24px; }
.home-origin-dialog { width: min(560px, calc(100vw - 24px)); }
.home-origin-panel { padding: 20px; display: grid; gap: 18px; }
.home-origin-panel .settings-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.home-origin-privacy { margin: 0; padding: 11px 12px; border-radius: 8px; background: var(--blue-soft); color: var(--muted); font-size: 12px; line-height: 1.5; }
.home-origin-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-origin-form label { display: grid; gap: 5px; }
.home-origin-form label span { color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.home-origin-actions, #homeOriginStatus { grid-column: 1 / -1; }
.home-origin-actions { display: flex; gap: 8px; }
.home-origin-actions button { min-height: 42px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 8px 12px; }
.home-origin-actions button[type="submit"] { border-color: var(--blue); background: var(--blue); color: #fff; font-weight: 700; }
#homeOriginStatus { min-height: 18px; color: var(--muted); font-size: 12px; }
.controls { position: relative; min-height: 94px; padding: 14px 32px; display: grid; grid-template-columns: minmax(320px, 2fr) repeat(3, minmax(150px, .72fr)) minmax(150px, .64fr); gap: 10px; align-items: end; background: var(--paper); border-bottom: var(--border); }
.controls label, .controls form { display: grid; gap: 6px; }
.search-wrap { position: relative; }
.controls label > span, .controls .field-label { font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
input, select { width: 100%; min-height: 42px; border: var(--border); border-radius: 7px; background: var(--paper); color: var(--ink); padding: 9px 11px; }
.search-input-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.search-input-row input { border-radius: 7px 0 0 7px; }
#searchMap { min-height: 42px; border: 0; border-radius: 0 7px 7px 0; background: var(--blue); color: #fff; padding: 9px 14px; font-weight: 700; }
.find-new-place { width: max-content; max-width: 100%; min-height: 28px; border: 0; background: transparent; color: var(--blue); padding: 0; font-size: 12px; font-weight: 700; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inline-google-autocomplete { position: absolute; z-index: 1200; top: calc(100% + 4px); left: 0; right: 0; overflow: hidden; border: var(--border); border-radius: 9px; background: var(--paper); box-shadow: 0 12px 34px rgba(0,0,0,.16); }
.inline-google-option { width: 100%; min-height: 48px; display: grid; gap: 3px; border: 0; border-bottom: var(--border); background: var(--paper); padding: 9px 11px; text-align: left; }
.inline-google-option:hover, .inline-google-option:focus-visible { background: var(--blue-soft); }
.inline-google-option strong, .inline-google-option small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inline-google-option strong { font-size: 13px; }
.inline-google-option small { color: var(--muted); font-size: 11px; }
.inline-google-attribution { min-height: 28px; display: flex; align-items: center; justify-content: flex-end; padding: 5px 9px; }
.inline-google-attribution img { display: block; width: 120px; height: auto; }
textarea { width: 100%; border: var(--border); border-radius: 7px; padding: 9px 11px; resize: vertical; }
.compact-filter { align-self: end; }
.advanced-filters { position: relative; align-self: end; }
.advanced-filters > summary { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 9px 11px; cursor: pointer; list-style: none; }
.advanced-filters > summary::-webkit-details-marker { display: none; }
.advanced-filters > summary::after { content: "⌄"; color: var(--muted); font-size: 14px; transform: translateY(-2px); }
.advanced-filters[open] > summary { border-color: rgba(0, 117, 222, .45); box-shadow: 0 0 0 2px rgba(0, 117, 222, .08); }
.advanced-filters[open] > summary::after { transform: rotate(180deg) translateY(-2px); }
.filter-count { min-width: 21px; min-height: 21px; display: grid; place-items: center; margin-left: auto; border-radius: 999px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 750; }
.advanced-filter-panel { position: absolute; z-index: 1250; top: calc(100% + 7px); right: 0; width: min(660px, calc(100vw - 32px)); border: var(--border); border-radius: 12px; background: var(--paper); box-shadow: 0 18px 55px rgba(0,0,0,.17); padding: 16px; }
.advanced-filter-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.advanced-filter-heading strong { font-size: 15px; }
.advanced-filter-heading p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.advanced-filter-heading button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--warm); color: var(--muted); font-size: 20px; }
.advanced-filter-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 12px; align-items: start; }
.private-filter-group { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.private-filter-group + .private-filter-group { grid-template-columns: 1fr; }
.filter-unavailable select { color: var(--muted); background: var(--warm); cursor: not-allowed; }
.enable-private-filter { grid-column: 1 / -1; min-height: 36px; border: 1px solid #9acaf5; border-radius: 7px; background: var(--blue-soft); color: #005bab; padding: 7px 10px; font-size: 11px; font-weight: 700; }
.enable-private-filter:disabled { color: var(--faint); border-color: rgba(0,0,0,.08); background: var(--warm); cursor: wait; }
.private-filter-status { min-height: 16px; margin: 10px 0 0; color: var(--muted); font-size: 11px; }
.quick-filters { grid-column: 1 / -1; display: flex; overflow-x: auto; min-width: 0; flex-wrap: nowrap; align-items: center; gap: 7px; padding: 1px 0 3px; scrollbar-width: thin; }
.quick-filters button { min-height: 34px; border: var(--border); border-radius: 999px; background: var(--paper); padding: 7px 11px; font-size: 12px; font-weight: 600; color: var(--muted); }
.quick-filters button { flex: 0 0 auto; white-space: nowrap; }
.quick-filters button.active { background: var(--ink); color: #fff; border-color: var(--ink); }
.smart-view-context { grid-column: 1 / -1; margin: -3px 0 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
.workspace { height: calc(100vh - 232px); min-height: 520px; display: grid; grid-template-columns: minmax(390px, 34%) 1fr minmax(0, 0); overflow: hidden; transition: grid-template-columns .25s ease; }
.workspace.detail-open { grid-template-columns: minmax(290px, 24%) minmax(320px, 1fr) minmax(430px, 34%); }
.list-pane, .detail-pane { background: var(--paper); overflow: hidden; }
.list-pane { border-right: var(--border); display: grid; grid-template-areas: "collection" "heading" "bulk" "results"; grid-template-rows: auto 54px auto minmax(0, 1fr); }
.list-heading { grid-area: heading; padding: 13px 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: var(--border); color: var(--muted); font-size: 13px; }
.list-actions { display: flex; align-items: center; gap: 10px; }
.bulk-selection-bar { grid-area: bulk; padding: 9px 14px; border-bottom: var(--border); background: var(--blue-soft); display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 11px; }
.bulk-selection-bar[hidden] { display: none; }
.bulk-selection-bar strong { color: var(--ink); }
.bulk-selection-bar button:not(.text-button) { min-height: 34px; border: 0; border-radius: 7px; padding: 7px 11px; background: var(--blue); color: #fff; font-weight: 700; }
.text-button { border: 0; background: transparent; color: var(--blue); font-size: 12px; font-weight: 600; }
.text-button:disabled { color: var(--faint); cursor: default; }
.results { grid-area: results; overflow: auto; padding: 8px; }
.place-card { width: 100%; text-align: left; border: 1px solid rgba(0,0,0,.075); background: var(--paper); border-radius: 14px; padding: 14px; display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 12px; margin-bottom: 8px; box-shadow: 0 1px 1px rgba(0,0,0,.025); transition: transform .15s, background .15s, border-color .15s, box-shadow .15s; }
.place-select-row { position: relative; }
.place-select-row .place-card { padding-left: 52px; }
.place-select-checkbox { position: absolute; z-index: 2; top: 22px; left: 18px; width: 22px; min-height: 22px; accent-color: var(--blue); }
.place-select-row.selected .place-card { border-color: var(--blue); background: var(--blue-soft); box-shadow: inset 0 0 0 1px var(--blue); }
.place-card:hover, .place-card.hovered, .place-card.selected { background: #fffefa; border-color: rgba(0,0,0,.15); box-shadow: 0 6px 18px rgba(0,0,0,.07); transform: translateY(-1px); }
.place-card.hovered:not(.selected) { box-shadow: inset 3px 0 0 var(--green); }
.place-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background: #edf8f1; font-size: 22px; }
.place-icon.category-coffee { background: #f6ecdf; }
.place-icon.category-drinks { background: #f3eaf7; }
.place-icon.category-outdoors { background: #e4f3e7; }
.place-icon.category-culture { background: #edf0f8; }
.place-icon.category-activities { background: #fff0df; }
.place-icon.category-shopping, .place-icon.category-stays { background: #f6edf0; }
.place-icon.category-other { color: var(--muted); background: var(--warm); font-size: 14px; }
.card-copy { min-width: 0; display: grid; gap: 6px; }
.card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.place-card h2 { min-width: 0; font-size: 17px; line-height: 1.2; letter-spacing: -.25px; margin: 0; }
.saved-label { flex: 0 0 auto; color: var(--green); font-size: 10px; font-weight: 700; }
.category-line { color: #403c38; font-size: 12px; font-weight: 650; }
.meta { display: flex; flex-wrap: wrap; gap: 0; color: var(--muted); font-size: 11px; }
.meta span + span::before { content: " · "; white-space: pre; }
.known-for { margin: 3px 0 1px; color: #413f3c; font-size: 12px; line-height: 1.4; }
.known-for span { color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.card-highlights { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
.card-highlights span { display: inline-flex; align-items: center; gap: 4px; min-height: 24px; border-radius: 999px; padding: 4px 7px; color: #185e3d; background: #edf8f1; font-size: 10px; font-weight: 700; }
.card-highlights b { font-size: 11px; font-weight: 500; }
.card-highlights.subdued span { color: var(--faint); background: var(--warm); font-weight: 600; }
.note-preview { grid-column: 2; margin: 0; color: #413f3c; font-size: 13px; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
.personal-preview { grid-column: 2; margin: 0; color: #005bab; font-size: 11px; font-weight: 650; }
.infinite-sentinel, .list-end { min-height: 54px; display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--faint); font-size: 11px; }
.infinite-sentinel span { width: 14px; height: 14px; border: 2px solid #d6d1cb; border-top-color: var(--blue); border-radius: 50%; animation: spin .8s linear infinite; }
.loading-results { padding: 22px 14px; display: grid; gap: 10px; }
.loading-results > span { display: block; height: 96px; border-radius: 14px; background: linear-gradient(100deg, #f1efed 20%, #faf9f8 40%, #f1efed 60%); background-size: 200% 100%; animation: shimmer 1.2s infinite linear; }
.loading-results p { margin: 8px 0 0; text-align: center; color: var(--muted); font-size: 12px; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes shimmer { to { background-position-x: -200%; } }
.map-pane { position: relative; min-width: 0; background: #e8e7e4; }
#map { position: absolute; inset: 0; }
.map-search-status { position: absolute; z-index: 5; top: 12px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100% - 112px); padding: 8px 11px; border: var(--border); border-radius: 8px; background: rgba(255,255,255,.96); box-shadow: var(--shadow); color: #34312e; font-size: 11px; font-weight: 600; text-align: center; }
.maplibregl-map { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.maplibregl-ctrl-attrib { font-size: 10px; }
.map-legend { position: absolute; z-index: 500; left: 12px; bottom: 24px; display: flex; gap: 10px; padding: 7px 10px; border: var(--border); border-radius: 8px; background: rgba(255,255,255,.96); box-shadow: var(--shadow); color: #34312e; font-size: 11px; font-weight: 600; }
.map-legend > span { display: flex; align-items: center; gap: 4px; }
.legend-symbol { font-size: 18px; line-height: 1; }
.legend-dot { width: 11px; height: 11px; display: inline-block; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0,0,0,.18); }
.legend-dot.marker-want-to-go { background: #38a66b; }
.legend-dot.marker-visited { background: #f4bf35; }
.source-marker { width: 36px; height: 36px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; background: #fff; box-shadow: 0 2px 7px rgba(0,0,0,.38); font-size: 25px; line-height: 1; transition: transform .12s, box-shadow .12s; }
.source-marker.selected { transform: scale(1.18); box-shadow: 0 0 0 3px #005bab, 0 3px 9px rgba(0,0,0,.42); }
.marker-want-to-go { color: #08783e; }
.marker-visited { color: #f5c518; text-shadow: -1px -1px 0 #5a4900, 1px -1px 0 #5a4900, -1px 1px 0 #5a4900, 1px 1px 0 #5a4900; }
.home-area-marker { width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #1f4f7a; box-shadow: 0 3px 12px rgba(0,0,0,.3); font-size: 20px; font-weight: 800; cursor: default; }
.maplibregl-popup.place-hover-popup { max-width: 270px !important; }
.maplibregl-popup.place-hover-popup, .place-hover-popup * { pointer-events: none !important; }
.place-hover-popup .maplibregl-popup-content { border-radius: 11px; padding: 11px 13px; box-shadow: 0 8px 24px rgba(0,0,0,.17); }
.map-place-preview { display: grid; gap: 3px; min-width: 170px; }
.map-place-preview strong { font-size: 14px; line-height: 1.25; }
.map-place-preview span { color: #413f3c; font-size: 11px; }
.map-place-preview small { color: var(--green); font-size: 10px; font-weight: 650; }
.map-fallback { display: none; position: absolute; inset: auto 16px 16px; background: rgba(255,255,255,.94); border: var(--border); border-radius: 8px; padding: 10px; font-size: 12px; }
.detail-pane { border-left: var(--border); overflow-y: auto; position: relative; }
.empty-detail { padding: 48px 32px; color: var(--muted); }
.empty-detail h2 { color: var(--ink); margin: 18px 0 8px; }
.detail-icon { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-size: 22px; }
.detail-content { padding: 28px; line-height: 1.45; }
.close-detail { position: absolute; top: 14px; right: 14px; border: 0; background: var(--warm); width: 32px; height: 32px; border-radius: 50%; font-size: 21px; }
.detail-state { color: var(--blue); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; padding-right: 35px; }
.detail-name { font-size: 28px; line-height: 1.08; letter-spacing: -1px; margin: 10px 0 8px; }
.detail-address { color: var(--muted); line-height: 1.5; font-size: 13px; }
.detail-pane section { border-top: var(--border); padding: 20px 0; }
.detail-pane h3 { font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); margin: 0 0 10px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.section-heading h3 { margin: 0; }
.detail-label { margin: 14px 0 6px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.detail-known-for { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.evidence-legend { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 6px; }
.evidence-badge { display: inline-flex; align-items: center; width: max-content; border-radius: 999px; padding: 4px 7px; font-size: 10px; font-weight: 750; line-height: 1; white-space: nowrap; }
.evidence-badge.verified { color: #11653c; background: #e9f7ee; }
.evidence-badge.partial { color: #76520b; background: #fff4d6; }
.evidence-badge.unavailable { color: #8b3a34; background: #faecea; }
.evidence-badge.unknown { color: #625e59; background: #efeeec; }
.evidence-badge.private { color: #005bab; background: var(--blue-soft); }
.note-block blockquote { margin: 0; padding: 14px 16px; border-left: 3px solid var(--blue); background: var(--blue-soft); border-radius: 0 8px 8px 0; white-space: pre-wrap; line-height: 1.55; font-size: 14px; }
.detail-personal-reason { margin: 0 0 12px; font-size: 12px; }
.saved-place-state { display: grid; gap: 6px; margin-bottom: 4px; }
.saved-place-state > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.saved-place-state-status, .remove-saved-place-status { min-height: 18px; margin: 4px 0 8px; color: var(--muted); font-size: 11px; }
.detail-collections, .visit-outcomes { margin: 0 0 14px; border: var(--border); border-radius: 8px; padding: 12px; }
.detail-collections legend, .visit-outcomes legend { padding: 0 5px; color: var(--muted); font-size: 11px; font-weight: 700; }
.detail-collection-options { display: grid; gap: 8px; margin-bottom: 8px; }
.detail-collection-options label, .visit-outcomes label { display: flex; align-items: center; gap: 7px; min-height: 30px; font-size: 12px; }
.detail-collection-options input, .visit-outcomes input { width: auto; min-height: auto; }
.collection-view-header { grid-area: collection; display: grid; gap: 14px; border-bottom: var(--border); padding: 20px 20px 18px; background: linear-gradient(135deg, #f4eee5 0%, #f8f7f4 75%); }
.collection-view-header[hidden] { display: none; }
.collection-view-copy { min-width: 0; }
.collection-view-copy .eyebrow { margin: 0 0 5px; }
.collection-view-copy h2 { margin: 0; font-size: clamp(25px, 3vw, 38px); line-height: 1.02; letter-spacing: -1.2px; overflow-wrap: anywhere; }
.collection-view-copy > p:not(.eyebrow) { margin: 7px 0 0; line-height: 1.45; }
.collection-view-copy > .muted { font-size: 11px; }
.collection-view-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.collection-view-actions button { min-height: 40px; border: var(--border); border-radius: 999px; padding: 8px 12px; background: var(--paper); color: var(--ink); font-weight: 700; }
.collection-view-actions button:first-child { border-color: var(--ink); background: var(--ink); color: #fff; }
.collection-view-actions button:disabled { opacity: .48; cursor: not-allowed; }
.collection-view-status { min-height: 0; margin: 0; color: var(--muted); font-size: 11px; }
.collection-view-status:not(:empty) { min-height: 16px; }
.private-place-note-form { display: grid; gap: 8px; margin: 0 0 14px; border: var(--border); border-radius: 9px; padding: 12px; }
.private-place-note-form label { display: grid; gap: 6px; }
.private-place-note-form label > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.private-place-note-actions { display: flex; align-items: center; gap: 8px; }
.private-place-note-actions button { min-height: 40px; border: var(--border); border-radius: 7px; padding: 8px 12px; background: var(--paper); color: var(--blue); font-weight: 700; }
.private-place-note-actions button[type="submit"] { border-color: var(--blue); background: var(--blue); color: #fff; }
.private-place-note-status { min-height: 18px; color: var(--muted); font-size: 11px; }
.remove-saved-place { margin-bottom: 2px; }
.visit-form { border: var(--border); border-radius: 9px; padding: 14px; background: var(--warm); }
.visit-form h4 { margin: 0 0 10px; font-size: 14px; }
.visit-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: var(--paper); }
.visit-fast-row, .visit-optional-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.visit-fast-row label, .visit-optional-grid label { display: grid; gap: 5px; }
.visit-fast-row span, .visit-optional-grid span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.visit-optional { margin: 12px 0; }
.visit-optional summary { cursor: pointer; color: var(--blue); font-size: 12px; font-weight: 650; }
.visit-optional-grid { margin-top: 10px; }
.visit-optional-grid .wide { grid-column: 1 / -1; }
.visit-form > button { min-height: 42px; border: 0; border-radius: 7px; padding: 9px 14px; background: var(--blue); color: #fff; font-weight: 700; }
.visit-status { min-height: 20px; margin-top: 7px; color: var(--muted); font-size: 11px; }
.visit-history { display: grid; gap: 7px; margin-top: 12px; }
.visit-history article { border: var(--border); border-radius: 8px; padding: 10px; font-size: 12px; }
.detail-card-benefits h4 { margin: 0 0 10px; font-size: 14px; }
.detail-card-benefit-list { display: grid; gap: 8px; }
.detail-benefit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; align-items: center; border: var(--border); border-radius: 8px; padding: 10px; font-size: 11px; }
.detail-benefit-row strong, .detail-benefit-row small { display: block; }
.detail-benefit-row small { color: var(--muted); margin-top: 2px; }
.detail-benefit-row a, .detail-benefit-row button { color: var(--blue); border: 0; background: transparent; font-size: 11px; }
.benefit-location-form { margin-top: 12px; }
.benefit-location-form summary { cursor: pointer; color: var(--blue); font-size: 12px; font-weight: 650; }
.benefit-location-form form { display: grid; gap: 9px; margin-top: 10px; border: var(--border); border-radius: 8px; padding: 12px; background: var(--warm); }
.benefit-location-form label { display: grid; gap: 5px; }
.benefit-location-form label span, .benefit-program-form label > span, .benefit-usage-form label span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.benefit-date-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.benefit-location-form button[type="submit"] { min-height: 42px; border: 0; border-radius: 7px; background: var(--blue); color: #fff; font-weight: 700; }
.benefit-location-status { min-height: 18px; color: var(--muted); font-size: 11px; }
.benefits-dialog { width: min(860px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.benefits-panel { padding: 20px; display: grid; gap: 18px; }
.benefits-panel .settings-heading p { max-width: 600px; margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.benefit-program-form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border: var(--border); border-radius: 10px; padding: 14px; background: var(--warm); }
.benefit-program-form label { display: grid; gap: 5px; }
.benefit-program-form .wide { grid-column: 1 / -1; }
.benefit-program-form .benefit-check { display: flex; align-items: center; gap: 8px; min-height: 42px; font-size: 12px; }
.benefit-program-form .benefit-check input { width: auto; min-height: auto; }
.benefit-form-actions { display: flex; align-items: center; gap: 8px; }
.benefit-form-actions button { min-height: 42px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 8px 12px; }
.benefit-form-actions button[type="submit"] { border-color: var(--blue); background: var(--blue); color: #fff; }
#cardBenefitStatus { color: var(--muted); font-size: 11px; }
.benefit-program-list { display: grid; gap: 10px; max-height: 44vh; overflow-y: auto; }
.benefit-program-row { border: var(--border); border-radius: 10px; padding: 12px; }
.benefit-program-heading { display: flex; justify-content: space-between; gap: 12px; }
.benefit-program-heading strong, .benefit-program-heading small { display: block; }
.benefit-program-heading small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.benefit-program-heading button { border: 0; background: transparent; color: var(--blue); font-size: 11px; }
.benefit-usage-form { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 8px; align-items: end; margin-top: 10px; }
.benefit-usage-form label { display: grid; gap: 4px; }
.benefit-usage-form button { min-height: 42px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 8px 10px; }
.benefit-usage-form [role="status"] { grid-column: 1 / -1; color: var(--muted); font-size: 11px; }
.visit-history article p { margin: 5px 0 0; color: var(--muted); white-space: pre-wrap; }
.eyebrow { margin: 0 0 5px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.secondary-button { border: var(--border) !important; background: var(--paper) !important; color: var(--ink) !important; }
.icon-button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: var(--ink); font-size: 25px; }
.icon-button:hover { background: var(--warm); }
.danger-button { border-color: #9d2e25 !important; background: #9d2e25 !important; color: #fff !important; }
.collections-dialog { width: min(900px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.collections-panel { max-height: calc(100dvh - 32px); padding: 26px; display: grid; gap: 20px; overflow-y: auto; }
.collections-panel .settings-heading { align-items: flex-start; }
.collections-panel .settings-heading h2 { font-size: clamp(28px, 4vw, 42px); letter-spacing: -1.4px; }
.collections-panel .settings-heading .muted { margin: 7px 0 0; }
.collection-new-card { min-height: 104px; display: grid; grid-template-columns: 48px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 14px; border: 1px dashed rgba(0,0,0,.25); border-radius: 14px; padding: 18px; background: var(--paper); text-align: left; }
.collection-new-card:hover { border-color: var(--blue); background: var(--blue-soft); }
.collection-new-card > span { grid-row: 1 / 3; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: var(--ink); color: #fff; font-size: 25px; }
.collection-new-card strong { align-self: end; font-size: 17px; }
.collection-new-card small { align-self: start; margin-top: 3px; color: var(--muted); line-height: 1.4; }
.collection-create-form, .collection-edit-form { display: grid; gap: 13px; border: var(--border); border-radius: 14px; padding: 18px; background: var(--warm); }
.collection-create-form label, .collection-edit-form label { display: grid; gap: 5px; }
.collection-create-form label > span, .collection-edit-form label > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.collection-form-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.collection-form-heading h3 { margin: 0; font-size: 21px; }
.collection-form-actions { display: flex; gap: 9px; }
.collection-form-actions button { min-height: 42px; border: 0; border-radius: 8px; background: var(--blue); color: #fff; padding: 9px 14px; font-weight: 750; }
.new-place-dialog { width: min(520px, calc(100vw - 24px)); }
.new-place-panel { padding: 20px; display: grid; gap: 14px; }
.new-place-panel > label { display: grid; gap: 5px; }
.new-place-panel > label > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.google-place-autocomplete { min-height: 52px; display: grid; align-items: center; }
.google-place-autocomplete gmp-place-autocomplete { width: 100%; }
.new-place-selection { border: var(--border); border-radius: 9px; padding: 11px; background: var(--warm); }
.new-place-selection strong, .new-place-selection small { display: block; }
.new-place-selection small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.new-place-panel > button[type="submit"] { min-height: 44px; border: 0; border-radius: 7px; background: var(--blue); color: #fff; font-weight: 700; }
.new-place-panel > button[type="submit"]:disabled { background: var(--faint); }
#newPlaceStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.google-attribution { color: var(--faint); line-height: 1.4; }
.manual-place-details .metadata-lines { margin: 0; white-space: pre-line; line-height: 1.65; }
#collectionStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.collection-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 12px; }
.collection-row { min-width: 0; display: grid; grid-template-rows: 94px 1fr; border: var(--border); border-radius: 14px; overflow: hidden; background: var(--paper); box-shadow: 0 1px 1px rgba(0,0,0,.025); cursor: pointer; }
.collection-row:hover { border-color: rgba(0,0,0,.22); box-shadow: 0 8px 24px rgba(0,0,0,.07); transform: translateY(-1px); }
.collection-card-preview { display: grid; place-items: center; background: #eee9e3; font-size: 34px; }
.collection-row:nth-child(3n + 2) .collection-card-preview { background: #e9f2eb; }
.collection-row:nth-child(3n + 3) .collection-card-preview { background: #eeeaf5; }
.collection-card-copy { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 14px; }
.collection-card-copy strong, .collection-card-copy small { display: block; }
.collection-card-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; }
.collection-card-copy small { margin-top: 4px; color: var(--muted); line-height: 1.35; }
.collection-card-arrow { color: var(--muted); font-size: 20px; }
.collection-empty { grid-column: 1 / -1; margin: 0; border-radius: 12px; padding: 18px; background: var(--warm); color: var(--muted); }
.collection-suggestions { border-top: var(--border); padding-top: 16px; }
.collection-suggestions > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-radius: 10px; padding: 12px; cursor: pointer; list-style: none; }
.collection-suggestions > summary::-webkit-details-marker { display: none; }
.collection-suggestions > summary:hover { background: var(--warm); }
.collection-suggestions > summary::after { content: "＋"; color: var(--blue); font-size: 20px; }
.collection-suggestions[open] > summary::after { content: "−"; }
.collection-suggestions > summary strong, .collection-suggestions > summary small { display: block; }
.collection-suggestions > summary small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.collection-suggestion-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.collection-suggestions[open] .collection-suggestion-heading { margin-top: 14px; }
.collection-suggestion-heading h3 { margin: 0 0 4px; font-size: 14px; }
.collection-suggestion-heading p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.collection-suggestion-heading button { flex: 0 0 auto; min-height: 38px; border: var(--border); border-radius: 7px; padding: 7px 10px; background: var(--paper); color: var(--blue); font-weight: 700; }
#collectionSuggestionStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.collection-suggestion-list { display: grid; gap: 8px; max-height: 36vh; overflow-y: auto; }
.collection-suggestion-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; border: var(--border); border-radius: 8px; padding: 10px; }
.collection-suggestion-row strong, .collection-suggestion-row small { display: block; }
.collection-suggestion-row small { margin-top: 2px; color: var(--muted); }
.collection-suggestion-row blockquote { margin: 7px 0 0; color: var(--ink); font-size: 11px; line-height: 1.45; white-space: pre-wrap; }
.collection-suggestion-row button { min-height: 38px; border: 0; border-radius: 7px; padding: 7px 10px; background: var(--blue); color: #fff; font-weight: 700; }
.collection-editor-dialog { width: min(1040px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); }
.collection-editor-panel { max-height: calc(100dvh - 24px); display: grid; gap: 22px; padding: 24px 28px 30px; overflow-y: auto; }
.collection-editor-topbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.collection-editor-hero { display: grid; gap: 8px; border-bottom: var(--border); padding: 8px 0 22px; }
.collection-editor-hero h2 { max-width: 760px; margin: 0; font-size: clamp(34px, 5vw, 58px); line-height: 1; letter-spacing: -2px; overflow-wrap: anywhere; }
.collection-editor-description { max-width: 720px; margin: 4px 0 8px; color: var(--muted); font-size: 15px; line-height: 1.55; }
.collection-editor-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.collection-editor-actions button { min-height: 42px; border: var(--border); border-radius: 999px; padding: 8px 13px; background: var(--paper); color: var(--ink); font-weight: 700; }
.collection-editor-actions button:first-child { background: var(--ink); color: #fff; border-color: var(--ink); }
.collection-edit-form { max-width: 720px; }
#collectionEditorStatus { min-height: 18px; color: var(--muted); font-size: 12px; }
#collectionEditorStatus:empty { display: none; }
.collection-editor-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.collection-editor-list-heading h3 { margin: 0; font-size: 24px; }
.collection-editor-list-heading p { margin: 4px 0 0; font-size: 11px; }
.collection-editor-places { display: grid; gap: 12px; }
.collection-editor-place { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; gap: 16px; align-items: center; border: var(--border); border-radius: 14px; padding: 12px; background: var(--paper); }
.collection-editor-place-icon { width: 92px; height: 92px; display: grid; place-items: center; border-radius: 10px; background: #edf8f1; font-size: 35px; }
.collection-editor-place-icon.category-coffee { background: #f6ecdf; }
.collection-editor-place-icon.category-drinks { background: #f3eaf7; }
.collection-editor-place-icon.category-outdoors { background: #e4f3e7; }
.collection-editor-place-icon.category-culture { background: #edf0f8; }
.collection-editor-place-icon.category-activities { background: #fff0df; }
.collection-editor-place-icon.category-shopping, .collection-editor-place-icon.category-stays { background: #f6edf0; }
.collection-editor-place-copy { min-width: 0; display: grid; gap: 6px; }
.collection-editor-place-copy h4 { margin: 0; font-size: 19px; line-height: 1.25; }
.collection-editor-place-meta { margin: 0; color: var(--muted); font-size: 12px; }
.collection-editor-note { margin: 3px 0 0; padding-left: 10px; border-left: 3px solid var(--blue); font-size: 13px; line-height: 1.5; white-space: pre-wrap; }
.collection-editor-place-actions { min-width: 112px; display: grid; gap: 6px; }
.collection-editor-place-actions button { min-height: 36px; border: 0; border-radius: 7px; background: transparent; color: var(--blue); padding: 7px 9px; font-size: 11px; font-weight: 700; }
.collection-editor-place-actions button:hover { background: var(--blue-soft); }
.collection-editor-place-actions [data-action="remove-place"] { color: #8b3a34; }
.collection-note-editor { grid-column: 2 / -1; display: grid; gap: 8px; border-top: var(--border); padding-top: 12px; }
.collection-note-editor label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; font-weight: 700; }
.collection-note-editor-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.collection-note-editor-footer small { color: var(--muted); }
.collection-note-editor-actions { display: flex; gap: 7px; }
.collection-note-editor-actions button { min-height: 38px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 7px 11px; font-weight: 700; }
.collection-note-editor-actions button[type="submit"] { border-color: var(--blue); background: var(--blue); color: #fff; }
.collection-editor-empty { min-height: 180px; display: grid; place-items: center; border: 1px dashed rgba(0,0,0,.22); border-radius: 14px; padding: 28px; text-align: center; color: var(--muted); background: var(--warm); }
.collection-editor-empty strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 18px; }
.collection-editor-danger { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 10px; border-top: var(--border); padding-top: 20px; }
.collection-editor-danger p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
.collection-editor-danger button { min-height: 40px; border: 1px solid #d4a29d; border-radius: 7px; background: var(--paper); color: #8b3a34; padding: 8px 12px; font-weight: 700; }
.confirm-dialog { width: min(440px, calc(100vw - 24px)); }
.confirm-panel { padding: 24px; display: grid; gap: 14px; }
.confirm-panel h2 { margin: 0; }
.confirm-panel > p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.5; }
.confirm-actions { display: flex; gap: 8px; }
.confirm-actions button { min-height: 42px; border: var(--border); border-radius: 7px; padding: 8px 12px; background: var(--paper); font-weight: 700; }
#deleteCollectionStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.confirm-status { min-height: 18px; color: var(--muted); font-size: 11px; }
.collection-toast { position: fixed; z-index: 4000; left: 50%; bottom: 24px; transform: translateX(-50%); min-width: min(420px, calc(100vw - 24px)); display: flex; align-items: center; gap: 10px; border-radius: 10px; padding: 12px 14px; background: var(--ink); color: #fff; box-shadow: 0 15px 45px rgba(0,0,0,.24); }
.collection-toast > span { color: #6fe29d; }
.collection-toast strong { min-width: 0; flex: 1; font-size: 13px; }
.collection-toast button { border: 0; background: transparent; color: #fff; font-weight: 750; }
.collection-toast #collectionToastEdit { color: #76bfff; }
.share-collection-dialog { width: min(680px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.share-collection-panel { padding: 20px; display: grid; gap: 16px; }
.share-collection-panel .settings-heading { align-items: flex-start; }
.share-collection-panel .settings-heading > div { min-width: 0; }
.share-collection-panel .settings-heading h2 { margin-bottom: 3px; }
.share-collection-panel .settings-heading p { margin: 0; font-size: 12px; }
.share-privacy-note { margin: 0; border-radius: 8px; padding: 11px 12px; color: #244e72; background: var(--blue-soft); font-size: 12px; line-height: 1.45; }
.share-collection-places { display: grid; gap: 9px; max-height: min(52vh, 540px); overflow-y: auto; }
.share-place-row { display: grid; gap: 7px; border: var(--border); border-radius: 9px; padding: 11px; }
.share-place-heading { display: flex; justify-content: space-between; gap: 10px; }
.share-place-heading strong { min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.share-place-heading span { flex: 0 0 auto; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.share-place-row textarea { min-height: 70px; font-size: 12px; }
.share-place-tools { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.share-place-tools small { color: var(--muted); }
.share-place-tools button { border: 0; background: transparent; color: var(--blue); padding: 3px 0; font-size: 11px; font-weight: 650; }
.share-collection-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.share-collection-actions button { min-height: 44px; border: var(--border); border-radius: 7px; background: var(--paper); color: var(--blue); font-weight: 700; }
.share-collection-actions button:first-child { border-color: var(--blue); background: var(--blue); color: #fff; }
#shareCollectionStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.share-note-choice { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 8px; border-radius: 7px; padding: 8px; background: var(--warm); font-size: 12px; line-height: 1.45; }
.share-note-choice input { margin-top: 3px; }
.share-note-choice small { display: block; color: var(--muted); margin-bottom: 2px; }
.share-collection-links { display: grid; gap: 7px; }
.share-link-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: var(--border); padding-top: 9px; font-size: 11px; }
.share-link-row > span { color: var(--muted); }
.share-link-actions { display: flex; gap: 6px; }
.share-link-actions button { min-height: 34px; border: var(--border); border-radius: 6px; background: var(--paper); color: var(--blue); }
.shared-collection-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.shared-collection-panel { padding: 22px; display: grid; gap: 16px; }
.shared-collection-actions { display: flex; justify-content: flex-end; }
.shared-collection-actions button { min-height: 40px; border: var(--border); border-radius: 7px; background: var(--paper); color: var(--blue); padding: 8px 12px; font-weight: 700; }
.shared-collection-places { display: grid; gap: 11px; overflow-y: auto; }
.shared-place-card { display: grid; gap: 7px; border: var(--border); border-radius: 10px; padding: 13px; background: var(--paper); }
.shared-place-card h3 { margin: 0; font-size: 16px; }
.shared-place-meta, .shared-place-address, .shared-place-known-for { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.shared-place-address { color: var(--ink); }
.shared-place-signals { display: flex; flex-wrap: wrap; gap: 6px; }
.shared-place-signals span { border-radius: 999px; padding: 4px 7px; background: var(--warm); color: var(--ink); font-size: 10px; font-weight: 700; }
.shared-place-notes { display: grid; gap: 6px; margin-top: 2px; }
.shared-place-note { border-left: 3px solid var(--gold); padding-left: 9px; font-size: 12px; line-height: 1.5; white-space: pre-wrap; }
.shared-place-note small { display: block; color: var(--muted); margin-bottom: 2px; }
.shared-place-card > a { justify-self: start; color: var(--blue); font-size: 12px; font-weight: 700; }
.google-my-maps-dialog { width: min(660px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.google-my-maps-panel { padding: 22px; display: grid; gap: 16px; }
.google-my-maps-panel > p { margin: 0; color: var(--muted); line-height: 1.5; }
.google-my-maps-panel > p strong { color: var(--ink); }
.google-my-maps-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: my-maps-step; }
.google-my-maps-steps li { counter-increment: my-maps-step; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 11px; align-items: center; border-top: var(--border); padding: 14px 0; }
.google-my-maps-steps li::before { content: counter(my-maps-step); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 12px; font-weight: 800; }
.google-my-maps-steps li > div { min-width: 0; }
.google-my-maps-steps li > div > strong { font-size: 14px; }
.google-my-maps-steps p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.google-my-maps-steps button, .google-my-maps-footer button { min-height: 40px; border: var(--border); border-radius: 7px; background: var(--paper); color: var(--blue); padding: 8px 12px; font-size: 12px; font-weight: 700; }
.google-my-maps-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#googleMyMapsStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.google-my-maps-footer button { border-color: var(--blue); background: var(--blue); color: #fff; }
.bulk-collection-dialog { width: min(720px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.bulk-collection-panel { padding: 20px; display: grid; gap: 15px; }
.bulk-collection-panel .settings-heading { align-items: flex-start; }
.bulk-collection-panel .settings-heading p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.bulk-collection-panel > label { display: grid; gap: 5px; }
.bulk-collection-panel > label > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.bulk-collection-places { display: grid; gap: 9px; max-height: min(54vh, 560px); overflow-y: auto; }
.bulk-collection-place { border: var(--border); border-radius: 9px; padding: 11px; display: grid; gap: 7px; }
.bulk-collection-place strong, .bulk-collection-place small { display: block; }
.bulk-collection-place small { margin-top: 2px; color: var(--muted); }
.bulk-collection-place label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.bulk-collection-place textarea { min-height: 68px; font-size: 12px; font-weight: 400; }
.bulk-collection-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.bulk-collection-actions button[type="submit"] { min-height: 44px; border: 0; border-radius: 7px; background: var(--blue); color: #fff; font-weight: 700; }
#bulkCollectionStatus { min-height: 18px; color: var(--muted); font-size: 12px; }
.owner-query-dialog { width: min(520px, calc(100vw - 24px)); }
.owner-query-panel { padding: 20px; display: grid; gap: 18px; }
.owner-query-panel .settings-heading { align-items: flex-start; }
.owner-query-panel .settings-heading > div { min-width: 0; }
.owner-query-panel .settings-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.owner-query-form { display: grid; gap: 10px; }
.owner-query-form label { display: grid; gap: 5px; }
.owner-query-form label > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.owner-query-form button { min-height: 42px; border: 0; border-radius: 7px; padding: 9px 14px; background: var(--blue); color: #fff; font-weight: 700; }
.owner-query-examples, .owner-query-boundary, #ownerQueryStatus { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
#ownerQueryStatus { min-height: 32px; padding: 9px 10px; border-radius: 7px; background: var(--warm); }
#ownerQueryStatus:empty { min-height: 0; padding: 0; }
.owner-query-boundary { padding-top: 14px; border-top: var(--border); }
.data-health-dialog { width: min(780px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); }
.data-health-panel { padding: 20px; display: grid; gap: 18px; }
.data-health-panel .settings-heading { align-items: flex-start; }
.data-health-panel .settings-heading > div { min-width: 0; }
.data-health-panel .settings-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.data-health-status { min-height: 42px; border-radius: 8px; padding: 12px; background: var(--warm); color: var(--muted); font-size: 12px; line-height: 1.45; }
.data-health-status:empty { display: none; }
.data-health-content { display: grid; gap: 18px; max-height: min(68vh, 720px); overflow-y: auto; }
.data-health-section { display: grid; gap: 10px; }
.data-health-section h3 { margin: 0; font-size: 14px; }
.data-health-section > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.data-health-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.data-health-metric { border: var(--border); border-radius: 9px; padding: 11px; background: var(--paper); }
.data-health-metric strong, .data-health-metric span { display: block; }
.data-health-metric strong { font-size: 20px; line-height: 1.1; }
.data-health-metric span { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.data-health-tier-list, .data-health-source-list, .data-health-provenance { display: grid; gap: 7px; }
.data-health-tier { display: grid; grid-template-columns: minmax(120px, .8fr) minmax(120px, 1.8fr) auto; align-items: center; gap: 9px; font-size: 11px; }
.data-health-tier-track { height: 8px; overflow: hidden; border-radius: 999px; background: #ebe8e4; }
.data-health-tier-fill { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.data-health-tier-count { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.data-health-source { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; border: var(--border); border-radius: 8px; padding: 9px 10px; font-size: 11px; }
.data-health-source strong { min-width: 0; overflow-wrap: anywhere; }
.data-health-source span { color: var(--muted); text-align: right; }
.data-health-provenance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.data-health-provenance span { border-radius: 7px; padding: 8px 9px; background: var(--warm); color: var(--muted); font-size: 10px; }
.data-health-boundary { margin: 0; padding-top: 14px; border-top: var(--border); color: var(--muted); font-size: 10px; line-height: 1.45; }
.capture-dialog { width: min(760px, calc(100vw - 24px)); }
.capture-panel { padding: 20px; display: grid; gap: 18px; }
.capture-panel .settings-heading { align-items: flex-start; }
.capture-panel .settings-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.capture-form { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 10px; padding-bottom: 18px; border-bottom: var(--border); }
.capture-form label { display: grid; gap: 5px; }
.capture-form label:not(:first-child), .capture-form-actions { grid-column: 1 / -1; }
.capture-form label > span, .capture-inbox-heading label > span, .capture-review label > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.capture-batch-fields { grid-column: 1 / -1; display: grid; gap: 10px; margin: 0; border: var(--border); border-radius: 9px; padding: 12px; min-width: 0; background: var(--warm); }
.capture-batch-fields[hidden] { display: none; }
.capture-batch-fields legend { padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.capture-batch-fields p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.capture-ocr-fields { grid-column: 1 / -1; display: grid; gap: 10px; margin: 0; border: var(--border); border-radius: 9px; padding: 12px; min-width: 0; background: #f4f8ff; }
.capture-ocr-fields[hidden] { display: none; }
.capture-ocr-fields legend { padding: 0 5px; color: var(--muted); font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.capture-ocr-fields p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.capture-ocr-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.capture-ocr-actions button { min-height: 40px; border: var(--border); border-radius: 7px; padding: 8px 12px; background: var(--paper); font-weight: 700; }
.capture-ocr-actions progress { width: min(180px, 100%); }
#captureOcrStatus { color: var(--muted); font-size: 11px; }
.capture-form-actions { display: flex; align-items: center; gap: 12px; }
.capture-form-actions button, .capture-review-actions button.primary { min-height: 42px; border: 0; border-radius: 7px; padding: 9px 14px; background: var(--blue); color: #fff; font-weight: 700; }
#captureStatus { color: var(--muted); font-size: 11px; }
.capture-inbox { display: grid; gap: 10px; min-height: 160px; }
.capture-inbox-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.capture-inbox-heading h3 { margin: 0; font-size: 14px; }
.capture-inbox-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: min(390px, 66%); }
.capture-inbox-heading label { display: grid; gap: 4px; min-width: 0; }
.capture-inbox-heading select { min-height: 36px; padding: 6px 9px; }
.capture-list { display: grid; gap: 8px; max-height: 46vh; overflow-y: auto; }
.capture-item { border: var(--border); border-radius: 9px; padding: 12px; background: var(--paper); }
.capture-item[open] { background: var(--warm); }
.capture-item summary { cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; list-style: none; }
.capture-item summary::-webkit-details-marker { display: none; }
.capture-summary-copy { min-width: 0; }
.capture-summary-copy strong, .capture-summary-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.capture-summary-copy small { margin-top: 4px; color: var(--muted); }
.capture-badges { display: grid; justify-items: end; gap: 5px; }
.capture-discovery-meta { display: grid; justify-items: end; gap: 1px; color: #6a4315; font-size: 9px; }
.capture-discovery-meta strong { border-radius: 999px; padding: 3px 6px; background: #fff1d7; text-transform: uppercase; letter-spacing: .04em; }
.capture-discovery-meta span { color: var(--muted); white-space: nowrap; }
.capture-list-meta { border-radius: 999px; padding: 3px 6px; color: #225a45; background: #e4f5ed; font-size: 9px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.capture-discovery-reason { display: grid; gap: 4px; margin-top: 12px; border-radius: 7px; padding: 10px; background: #fff8eb; font-size: 11px; line-height: 1.4; }
.capture-discovery-reason strong { color: #6a4315; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.capture-state { align-self: start; border-radius: 999px; padding: 4px 7px; color: #005bab; background: var(--blue-soft); font-size: 10px; font-weight: 750; }
.capture-state.resolved { color: #11653c; background: #e9f7ee; }
.capture-state.unidentified, .capture-state.archived, .capture-state.duplicate { color: #625e59; background: #efeeec; }
.capture-original { margin: 12px 0; padding: 10px; border-left: 3px solid var(--blue); background: var(--paper); border-radius: 0 7px 7px 0; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; white-space: pre-wrap; }
.capture-original a { color: var(--blue); }
.capture-source-item { display: grid; gap: 3px; margin-bottom: 8px; }
.capture-source-item strong { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.capture-review { display: grid; gap: 9px; padding-top: 10px; border-top: var(--border); }
.capture-review label { display: grid; gap: 4px; }
.capture-place-results { display: grid; gap: 5px; }
.capture-place-option { min-height: 40px; border: var(--border); border-radius: 7px; padding: 7px 9px; background: var(--paper); text-align: left; }
.capture-place-option.selected { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); background: var(--blue-soft); }
.capture-place-option strong, .capture-place-option small { display: block; }
.capture-place-option small { margin-top: 2px; color: var(--muted); }
.capture-promotion { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 8px; margin: 4px 0; border: 1px solid #c9ded5; border-radius: 8px; padding: 11px; background: #f2faf6; min-width: 0; }
.capture-promotion legend { padding: 0 5px; color: #225a45; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.capture-promotion p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.capture-promotion label { min-width: 0; }
.capture-promotion button { grid-column: 1 / -1; min-height: 42px; border: 0; border-radius: 7px; padding: 9px 14px; background: #225a45; color: #fff; font-weight: 700; }
.capture-review-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.capture-review-actions button:not(.primary) { min-height: 38px; border: var(--border); border-radius: 7px; background: var(--paper); padding: 7px 10px; }
.capture-review-status { min-height: 17px; color: var(--muted); font-size: 11px; }
.outings-dialog { width: min(720px, calc(100vw - 24px)); }
.outings-panel { padding: 20px; display: grid; gap: 18px; }
.outings-panel .settings-heading { align-items: flex-start; }
.outings-panel .settings-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.outing-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-bottom: 18px; border-bottom: var(--border); }
.outing-form label:not(.outing-check) { display: grid; gap: 5px; }
.outing-form label > span { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.outing-template-name, .outing-check, .outing-actions, #outingStatus { grid-column: 1 / -1; }
.outing-check { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: 12px; }
.outing-check input { width: auto; min-height: auto; }
.outing-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.outing-actions button { min-height: 42px; border: var(--border); border-radius: 7px; padding: 9px 14px; background: var(--paper); font-weight: 700; }
.outing-actions button[type="submit"] { border-color: var(--blue); background: var(--blue); color: #fff; }
#outingStatus { min-height: 18px; color: var(--muted); font-size: 11px; }
.outing-saved, .outing-results { display: grid; gap: 8px; }
.outing-saved h3, .outing-results h3 { margin: 0; font-size: 14px; }
.outing-results > p { margin: 0; font-size: 11px; line-height: 1.45; }
.outing-template-list, #outingResults { display: grid; gap: 8px; }
.outing-template-row, .outing-result-card, .outing-empty { border: var(--border); border-radius: 9px; padding: 12px; background: var(--paper); }
.outing-template-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
.outing-template-row strong, .outing-template-row small { display: block; }
.outing-template-row small { margin-top: 3px; color: var(--muted); }
.outing-template-actions { display: flex; gap: 5px; }
.outing-template-actions button { min-height: 36px; border: 0; background: transparent; color: var(--blue); font-size: 11px; }
.outing-result-card { border-left: 3px solid var(--green); }
.outing-result-stops { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.outing-result-stops span { color: var(--muted); }
.outing-result-card p { margin: 7px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.outing-route-badge { display: inline-flex; margin-top: 8px; border-radius: 999px; padding: 4px 7px; color: #11653c; background: #e9f7ee; font-size: 10px; font-weight: 750; }
.outing-empty { color: var(--muted); font-size: 12px; line-height: 1.5; }
.detail-veg-summary { display: grid; gap: 4px; }
.detail-veg-summary strong { font-size: 16px; line-height: 1.35; }
.detail-veg-summary span, .detail-menu-summary, .section-intro { font-size: 12px; }
.detail-menu-summary { margin-top: 9px; }
.detail-veg-items { display: grid; gap: 8px; margin-top: 14px; }
.item-disclosure, .detail-disclosure { border: var(--border); border-radius: 8px; background: var(--warm); }
.item-disclosure summary, .detail-disclosure summary { cursor: pointer; padding: 10px 12px; color: #3e3a36; font-size: 12px; font-weight: 700; }
.item-disclosure ul { columns: 2; column-gap: 22px; margin: 0; padding: 2px 28px 12px; font-size: 12px; }
.item-disclosure li { break-inside: avoid; margin: 0 0 5px; }
.detail-signals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.signal-card { min-width: 0; border: var(--border); border-left: 3px solid #bbb6b0; border-radius: 8px; padding: 10px; background: var(--paper); }
.signal-card.verified { border-left-color: var(--green); }
.signal-card.partial { border-left-color: #c28a16; }
.signal-card.unavailable { border-left-color: #b85a52; }
.signal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 700; }
.signal-value { margin-top: 7px; font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.travel-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.travel-mode { display: grid; gap: 2px; border-radius: 8px; padding: 10px 12px; background: #edf8f1; color: #125f39; }
.travel-mode.unavailable { background: #faecea; color: #7a3d38; }
.travel-modes strong { color: inherit; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.detail-travel-context { margin-top: 9px; font-size: 12px; }
.google-block { padding: 14px 0 !important; }
.detail-disclosure { background: var(--paper); }
.detail-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.detail-google-freshness { color: var(--faint); font-size: 10px; font-weight: 600; }
.detail-google { border-top: var(--border); padding: 12px; white-space: pre-line; line-height: 1.55; font-size: 12px; }
.section-intro { margin: -2px 0 12px; }
.detail-unknowns { display: grid; gap: 7px; }
.evidence-gap { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 12px; }
.evidence-gap .evidence-badge { flex: 0 0 auto; margin-top: 2px; }
.detail-freshness { display: grid; gap: 9px; margin-bottom: 14px; }
.freshness-row { border: var(--border); border-radius: 8px; padding: 10px 11px; }
.freshness-row > div:first-child { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.freshness-row strong, .freshness-row span { display: block; }
.freshness-row strong { font-size: 12px; }
.freshness-row span:not(.evidence-badge) { margin-top: 2px; color: var(--muted); font-size: 11px; }
.freshness-row p { margin: 8px 0 0; color: var(--muted); font-size: 11px; }
.primary-link { display: block; text-align: center; margin-top: 20px; padding: 11px 16px; border-radius: 6px; background: var(--blue); color: #fff; font-size: 13px; font-weight: 700; text-decoration: none; }
.detail-links { display: flex; flex-wrap: wrap; gap: 8px; }
.detail-links .primary-link { display: inline-block; margin-top: 0; border: 1px solid #9acaf5; padding: 7px 9px; background: var(--blue-soft); color: #005bab; font-size: 11px; }
.empty-results { padding: 50px 24px; text-align: center; color: var(--muted); }
@media (max-width: 1000px) {
  .quick-filters { grid-column: 1 / -1; }
  .workspace, .workspace.detail-open { grid-template-columns: minmax(320px, 42%) 1fr; }
  .workspace.detail-open .detail-pane { position: fixed; z-index: 1001; right: 0; top: 0; bottom: 0; width: min(430px, 92vw); box-shadow: -20px 0 50px rgba(0,0,0,.12); }
}
@media (min-width: 701px) and (max-width: 950px) {
  .controls { grid-template-columns: minmax(260px, 1.5fr) repeat(2, minmax(150px, 1fr)); }
  .advanced-filters { grid-column: auto; }
}
@media (max-width: 700px) {
  .topbar { position: relative; padding: 20px; padding-right: 76px; min-height: 156px; align-items: flex-start; gap: 12px; }
  .header-actions { position: absolute; top: 16px; right: 16px; align-items: flex-end; flex-direction: column-reverse; }
  .capture-launch, .outing-launch { position: absolute; right: 4px; width: max-content; min-height: 38px; padding: 8px 12px; font-size: 12px; }
  .capture-launch { top: 94px; }
  .outing-launch { top: 138px; }
  h1 { font-size: 34px; letter-spacing: -1.3px; }
  .controls { padding: 14px 16px; grid-template-columns: 1fr 1fr; gap: 9px; }
  .search-wrap { grid-column: 1 / -1; }
  .smart-view-filter { grid-column: 1 / 2; }
  .advanced-filters { grid-column: 2 / 3; }
  .advanced-filter-panel { position: fixed; top: auto; right: 12px; bottom: 12px; left: 12px; width: auto; max-height: calc(100dvh - 24px); overflow: auto; border-radius: 14px; }
  .advanced-filter-grid { grid-template-columns: 1fr; }
  .quick-filters { grid-column: 1 / -1; padding-bottom: 4px; }
  .workspace, .workspace.detail-open { height: auto; min-height: 0; display: flex; flex-direction: column; }
  .map-pane { height: 34vh; min-height: 260px; border-bottom: var(--border); }
  .map-pane { order: 1; }
  .list-pane { order: 2; }
  .detail-pane { order: 3; }
  .map-legend { bottom: 12px; max-width: calc(100vw - 24px); flex-wrap: wrap; }
  .list-heading { min-height: 58px; align-items: flex-start; flex-wrap: wrap; }
  .list-actions { flex-wrap: wrap; justify-content: flex-end; }
  .list-pane { height: 58vh; border-right: 0; grid-template-rows: auto auto auto minmax(0, 1fr); }
  .workspace.detail-open .detail-pane { display: block; }
  .detail-pane { display: none; }
  .workspace.detail-open .detail-pane { width: 100vw; max-width: none; }
  .detail-content { padding: 24px 20px 36px; }
  .detail-signals { grid-template-columns: 1fr; }
  .item-disclosure ul { columns: 1; }
  .visit-fast-row, .visit-optional-grid { grid-template-columns: 1fr; }
  .visit-optional-grid .wide { grid-column: auto; }
  .private-place-note-actions { display: grid; grid-template-columns: 1fr; }
  .collections-dialog, .collection-editor-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .collections-panel, .collection-editor-panel { min-height: 100%; max-height: none; padding: 18px 16px 28px; overflow: visible; }
  .collection-list { grid-template-columns: 1fr; }
  .collection-form-actions { display: grid; grid-template-columns: 1fr; }
  .collection-form-actions button { width: 100%; }
  .collection-editor-hero h2 { font-size: 38px; letter-spacing: -1.4px; }
  .collection-editor-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .collection-editor-actions button { width: 100%; border-radius: 8px; }
  .collection-editor-list-heading { align-items: flex-start; flex-direction: column; }
  .collection-editor-place { grid-template-columns: 68px minmax(0, 1fr); align-items: start; }
  .collection-editor-place-icon { width: 68px; height: 68px; font-size: 27px; }
  .collection-editor-place-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .collection-note-editor { grid-column: 1 / -1; }
  .collection-note-editor-footer { align-items: stretch; flex-direction: column; }
  .collection-note-editor-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .collection-editor-danger { align-items: stretch; flex-direction: column; }
  .collection-editor-danger button { width: 100%; }
  .confirm-actions { display: grid; grid-template-columns: 1fr; }
  .collection-toast { bottom: 12px; min-width: calc(100vw - 24px); }
  .collection-suggestion-heading { align-items: stretch; flex-direction: column; }
  .collection-suggestion-heading button { width: 100%; }
  .collection-suggestion-list { max-height: none; overflow: visible; }
  .collection-suggestion-row { grid-template-columns: 1fr; }
  .collection-suggestion-row button { width: 100%; }
  .owner-query-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .home-origin-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .home-origin-panel { min-height: 100%; padding: 18px 16px 28px; }
  .home-origin-form { grid-template-columns: 1fr; }
  .home-origin-actions, #homeOriginStatus { grid-column: auto; }
  .home-origin-actions { display: grid; grid-template-columns: 1fr; }
  .owner-query-panel { min-height: 100%; padding: 18px 16px 28px; }
  .data-health-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .data-health-panel { min-height: 100%; padding: 18px 16px 28px; }
  .data-health-content { max-height: none; overflow: visible; }
  .data-health-metrics { grid-template-columns: 1fr 1fr; }
  .data-health-tier { grid-template-columns: minmax(105px, .9fr) minmax(80px, 1fr) auto; }
  .data-health-provenance { grid-template-columns: 1fr; }
  .share-collection-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .share-collection-panel { min-height: 100%; padding: 18px 16px 28px; }
  .share-collection-places { max-height: none; overflow: visible; }
  .share-collection-actions { grid-template-columns: 1fr; }
  .shared-collection-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .shared-collection-panel { min-height: 100%; padding: 18px 16px 28px; }
  .shared-collection-places { overflow: visible; }
  .google-my-maps-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .google-my-maps-panel { min-height: 100%; padding: 18px 16px 28px; }
  .google-my-maps-steps li { grid-template-columns: 34px minmax(0, 1fr); align-items: start; }
  .google-my-maps-steps li > button { grid-column: 2; justify-self: start; }
  .bulk-collection-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .bulk-collection-panel { min-height: 100%; padding: 18px 16px 28px; }
  .bulk-collection-places { max-height: none; overflow: visible; }
  .bulk-collection-actions { grid-template-columns: 1fr; }
  .capture-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .capture-panel { min-height: 100%; padding: 18px 16px 28px; }
  .capture-form { grid-template-columns: 1fr; }
  .capture-form label, .capture-form label:not(:first-child), .capture-form-actions { grid-column: auto; }
  .capture-inbox-heading { align-items: stretch; flex-direction: column; }
  .capture-inbox-filters { width: 100%; grid-template-columns: 1fr; }
  .capture-list { max-height: none; overflow: visible; }
  .capture-review-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .capture-review-actions button { width: 100%; }
  .capture-promotion { grid-template-columns: 1fr; }
  .capture-promotion p, .capture-promotion button { grid-column: auto; }
  .topbar { min-height: 202px; }
  .outings-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .outings-panel { min-height: 100%; padding: 18px 16px 28px; }
  .outing-form { grid-template-columns: 1fr; }
  .outing-template-name, .outing-check, .outing-actions, #outingStatus { grid-column: auto; }
  .outing-actions { display: grid; grid-template-columns: 1fr; }
  .outing-actions button { width: 100%; }
  .outing-template-row { align-items: start; }
  .benefits-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; }
  .benefits-panel { min-height: 100%; padding: 18px 16px 28px; }
  .benefit-program-form { grid-template-columns: 1fr; }
  .benefit-program-form .wide { grid-column: auto; }
  .benefit-usage-form { grid-template-columns: 1fr; }
  .benefit-usage-form [role="status"] { grid-column: auto; }
  .benefit-program-list { max-height: none; overflow: visible; }
  .benefit-date-row { grid-template-columns: 1fr; }
}
