:root{--ink:#17251f;--muted:#6b746f;--line:#e3e8e4;--paper:#fff;--surface:#f4f6f4;--lime:#d7f06a;--green:#236449;--radius:16px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:var(--ink);background:var(--surface)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;background:white;color:var(--ink);min-height:44px;font-size:.875rem;font-weight:600}button:hover{background:#eef2ee}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #99b933;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #cfd7d0;border-radius:10px;background:#fff;color:var(--ink);padding:.8rem;min-height:46px;font-size:1rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #23644915}textarea{resize:vertical;min-height:108px;line-height:1.5}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--green);flex:0 0 auto}label{display:block;font-size:.875rem;font-weight:600;line-height:1.45}label>input,label>select,label>textarea{margin-top:7px}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:1.5rem;letter-spacing:-.045em;margin-bottom:0}h2{font-size:1.7rem;letter-spacing:-.045em;margin-bottom:0}h3{font-size:1.1rem;letter-spacing:-.025em}.primary{background:var(--ink);border-color:var(--ink);color:white}.primary:hover{background:#2b4437}.primary span{margin-left:18px}.quiet{background:transparent;border-color:transparent}.text-button{border:0;padding:0;min-height:32px;background:transparent;color:var(--green);font-size:.875rem}.icon-button{font-size:1.6rem;width:44px;padding:0;border-color:var(--line);flex:0 0 auto}.muted{color:var(--muted);font-size:.875rem;line-height:1.5}.error{color:#a8292c;font-size:.875rem;line-height:1.5;margin:10px 0 0}.error:empty{display:none}.eyebrow{font-size:.75rem;letter-spacing:.12em;font-weight:700;color:var(--muted);margin:0 0 8px}.count{display:inline-grid;place-items:center;min-width:30px;height:26px;background:#edf0ed;border-radius:7px;color:#657065;font-size:.875rem;vertical-align:middle;letter-spacing:0;margin-left:4px}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;background:white;padding:0 28px;border-bottom:1px solid var(--line);gap:12px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:1.4rem;font-weight:750;letter-spacing:-.04em}.brand:hover{text-decoration:none}.brand small{display:block;font-size:.625rem;letter-spacing:.12em;font-weight:600;margin-top:2px}.top-actions{display:flex;align-items:center;gap:8px}.city{color:var(--muted);font-size:.875rem;margin-right:20px}.workspace{height:calc(100dvh - 80px);display:grid;grid-template-columns:410px minmax(0,1fr)}.sidebar{background:white;display:flex;flex-direction:column;min-height:0;z-index:3;border-right:1px solid var(--line)}.sidebar-top{padding:26px 22px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.add{padding:.7rem .8rem;background:var(--lime);border-color:var(--lime);color:var(--ink);white-space:nowrap}.add:hover{background:#cce65b}.search{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:11px;padding-left:12px;background:var(--surface)}.search span{font-size:1.7rem;font-weight:400;color:#7e8b80}.search input{margin:0;border:0;background:transparent;box-shadow:none;font-size:.875rem;padding:.75rem}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.filters>select{font-size:.875rem;padding:.65rem;min-width:0}.category-picker{grid-column:1/-1;position:relative;font-size:.875rem}.category-picker summary{list-style:none;border:1px solid var(--line);padding:12px 14px;border-radius:10px;min-height:44px;font-weight:600}.category-picker summary:after{content:'⌄';float:right}.category-picker[open] summary{border-color:var(--green)}.picker-menu{position:absolute;z-index:20;top:48px;left:0;right:0;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 12px 30px #17251f18;max-height:300px;overflow:auto}.check-label{display:flex;align-items:center;gap:9px;padding:8px 4px;font-weight:500}.check-label input{margin:0}.results-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;font-size:.875rem;color:var(--muted)}.place-list{flex:1;overflow:auto;padding:0 12px 16px}.place-card{display:flex;text-align:left;gap:14px;width:100%;padding:16px 10px;border-radius:10px;border:1px solid transparent;border-bottom-color:var(--line);background:white;font-weight:400}.place-card:hover,.place-card.selected{background:#f2f6ec;border-color:#dae4cf}.place-thumb{width:60px;height:66px;object-fit:cover;border-radius:9px;flex:0 0 auto;background:#edf1ec;display:grid;place-items:center;font-size:1.5rem;color:#63735c}.place-card-body{min-width:0;flex:1}.place-name{font-size:1rem;font-weight:650;margin:0 0 4px;overflow-wrap:anywhere}.place-meta{font-size:.8rem;color:var(--muted);line-height:1.45}.tags{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 0}.tag{font-size:.75rem;font-weight:500;padding:4px 7px;background:#eef2ee;color:#4e6155;border-radius:5px}.status{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;margin-top:8px}.status:before,.live-dot{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--status-color,var(--green));flex:0 0 auto}.card-arrow{margin-top:4px;color:#7a857e}.sidebar-footer{padding:14px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;display:flex;gap:8px;align-items:center}.sidebar-footer #sync-status{margin-left:auto}.empty{text-align:center;padding:45px 20px}.empty .empty-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#f0f4ea;margin:0 auto 20px;font-size:2rem;color:var(--green)}.empty h3{margin-bottom:10px}.empty p{font-size:.875rem;line-height:1.6;color:var(--muted)}.map-pane{position:relative;min-width:0;background:#e8eee8}.map-pane #map{width:100%;height:100%;background:#e8eee8}.map-location{position:absolute;top:20px;left:22px;background:#fff;padding:12px 16px;border:1px solid #dce3dc;border-radius:12px;box-shadow:0 3px 16px #16251c10;font-size:.875rem;display:flex;align-items:center;gap:8px;pointer-events:none}.map-controls{position:absolute;right:20px;bottom:42px;display:grid;gap:8px}.map-controls button{width:46px;padding:0;font-size:1.8rem;box-shadow:0 3px 10px #16251c14}.map-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(370px,calc(100% - 40px));background:#fff;padding:28px;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px #17251f0c;text-align:center}.map-message h3{font-size:1.25rem;margin-bottom:10px}.map-message p{color:var(--muted);font-size:.875rem;line-height:1.6}.map-message button{margin-top:6px}.pick-banner{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);background:var(--ink);color:#fff;border-radius:12px;display:flex;align-items:center;gap:18px;padding:8px 10px 8px 20px;box-shadow:0 8px 24px #0002;font-size:.875rem}.pick-banner button{background:#ffffff1c;color:white;border:0}.floating-add,.mobile-tabs{display:none}.network{background:#fff0bf;color:#664700;padding:10px 20px;text-align:center;font-size:.875rem}.network:not([hidden])~.workspace{height:calc(100dvh - 120px)}.draft-banner{width:100%;display:flex;justify-content:space-between;margin:0 0 12px;background:#f1f6dc;border-color:#d8e5a7;color:#40531a;text-align:left}.sheet{position:fixed;inset:0 0 0 auto;margin:0;width:540px;max-width:100%;height:100dvh;max-height:none;padding:0;border:0;border-left:1px solid var(--line);background:white;box-shadow:-15px 0 60px #1321161c;color:var(--ink)}dialog::backdrop{background:#17251f45;backdrop-filter:blur(2px)}.sheet-header{padding:27px 26px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px;background:white;position:sticky;top:0;z-index:5}.sheet-content{padding:24px 26px}.sheet-footer{padding:16px 26px max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:white;position:sticky;bottom:0;z-index:4}.button-row{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}.wide{grid-column:1/-1}.field-note{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.45}.form-section{margin:26px 0 16px;padding-top:24px;border-top:1px solid var(--line)}.form-section h3{margin:0 0 14px}.form-section:first-child{margin-top:0;border-top:0;padding-top:0}.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;border:1px solid var(--line);padding:10px 12px;border-radius:10px;max-height:230px;overflow:auto}.check-grid .check-label{font-size:.875rem;align-items:flex-start}.location-card{background:var(--surface);padding:16px;border:1px solid var(--line);border-radius:12px}.location-card p{font-size:.875rem;line-height:1.4;margin-bottom:10px}.location-card .form-actions{margin-top:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.photo-item{position:relative;aspect-ratio:1}.photo-item img{width:100%;height:100%;object-fit:cover;border-radius:10px}.photo-item button.remove-photo{position:absolute;top:5px;right:5px;min-height:30px;width:30px;padding:0;border-radius:50%;font-size:1.1rem;background:white;box-shadow:0 2px 8px #0002}.photo-add{border:1px dashed #b9c9bd;border-radius:10px;display:grid;place-content:center;text-align:center;background:#f5f8f2;min-height:108px;color:var(--green)}.photo-add input{display:none}.photo-add span{font-size:1.8rem;font-weight:400}.photo-add small{font-size:.8rem}.photo-grid button.photo-open{padding:0;border:0;aspect-ratio:1;overflow:hidden;display:block;min-height:0}.photo-open img{width:100%;height:100%;object-fit:cover}.link-line{display:flex;gap:8px;margin-bottom:8px}.link-line input{flex:1;min-width:0}.detail-title{font-size:2rem;overflow-wrap:anywhere;margin:14px 0}.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.detail-info dt{font-size:.8rem;color:var(--muted);margin-bottom:5px}.detail-info dd{font-size:.95rem;margin:0;overflow-wrap:anywhere;line-height:1.5}.detail-comment{white-space:pre-wrap;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.detail-actions a{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border:1px solid var(--line);border-radius:10px;font-size:.875rem;font-weight:600}.detail-actions a.primary{background:var(--ink);color:white}.floor-group{margin:22px 0}.floor-group h3{background:var(--surface);padding:10px 12px;border-radius:8px;font-size:.875rem;margin-bottom:4px}.settings-section{margin-bottom:32px}.settings-section h3{display:flex;justify-content:space-between;align-items:center}.settings-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-row span{overflow-wrap:anywhere;font-size:.9rem}.settings-row.inactive{color:var(--muted)}.settings-edit{padding:16px;background:var(--surface);border-radius:12px;margin:12px 0}.settings-edit label{margin-bottom:12px}.settings-edit .button-row{flex-wrap:wrap}.settings-inline{display:flex;gap:8px}.settings-inline input{min-width:0}.danger{color:#a8292c}.confirm-dialog{border:1px solid var(--line);border-radius:20px;max-width:420px;width:calc(100% - 32px);padding:26px;color:var(--ink)}.confirm-dialog h2{font-size:1.4rem;margin-bottom:14px}.confirm-dialog p{line-height:1.6;font-size:.9rem;color:var(--muted)}.photo-dialog{padding:0;border:0;background:transparent;max-width:95vw;max-height:94dvh;overflow:visible}.photo-dialog img{max-width:95vw;max-height:88dvh;object-fit:contain;border-radius:10px;display:block}.photo-close{position:absolute;top:10px;right:10px;min-height:44px;width:44px;border:0;border-radius:50%;font-size:1.7rem;background:#fff;z-index:2}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:14px 20px;border-radius:12px;background:var(--ink);color:white;box-shadow:0 10px 30px #0002;font-size:.9rem;z-index:1000}.login-body{min-height:100dvh;display:grid;place-items:center;background:#edf1ed;padding:24px}.login-card{width:min(420px,100%);background:white;border:1px solid #dfe5dd;border-radius:28px;padding:46px 36px;box-shadow:0 20px 70px #17251f08}.brand-mark{width:64px;height:64px;display:grid;place-items:center;background:var(--ink);border-radius:20px;color:#fff;font-size:3rem;font-weight:650;margin-bottom:36px;position:relative;line-height:1;padding-bottom:8px}.brand-mark span{position:absolute;color:var(--lime);right:8px;top:1px}.login-card h1{font-size:2.6rem;margin:12px 0;letter-spacing:-.06em}.login-card form{margin-top:32px}.login-card input{margin:8px 0 14px}.login-card .primary{width:100%;padding:14px}.login-note{margin:26px 0 0;text-align:center;font-size:.75rem;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1400px){.workspace{grid-template-columns:450px minmax(0,1fr)}.sidebar-top{padding:30px 28px 0}.place-list{padding-left:18px;padding-right:18px}}
@media(max-width:900px){.workspace{grid-template-columns:355px minmax(0,1fr)}.sidebar-top{padding:20px 16px 0}.section-heading{gap:6px}h1{font-size:1.3rem}.add{font-size:.8rem}.city{display:none}.topbar{padding:0 20px}.sheet{width:510px}}
@media(max-width:680px){.topbar{height:66px;padding:0 16px}.brand{gap:9px;font-size:1.2rem}.brand img{width:33px;height:33px}.brand small{font-size:.6rem}.top-actions{gap:0}.top-actions button{font-size:.8rem;padding:10px 8px}.workspace{height:calc(100dvh - 126px - env(safe-area-inset-bottom));display:block}.map-pane{height:100%;width:100%}.sidebar{position:absolute;top:66px;bottom:calc(60px + env(safe-area-inset-bottom));left:0;right:0;display:none;border:0}.list-view .sidebar{display:flex}.list-view .map-pane{visibility:hidden}.sidebar-top{padding:20px 18px 0}.section-heading{margin-bottom:18px}h1{font-size:1.6rem}.add{font-size:.875rem}.filters{grid-template-columns:1fr 1fr 1fr}.category-picker{grid-column:auto;min-width:0}.category-picker summary{padding:12px 10px;white-space:nowrap}.picker-menu{min-width:250px}.filters>select{font-size:.8rem;padding-left:8px}.mobile-tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:5px;padding:7px 18px calc(7px + env(safe-area-inset-bottom));height:calc(60px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);z-index:6}.mobile-tabs button{flex:1;max-width:220px;border:0;background:transparent;min-height:42px}.mobile-tabs button[aria-pressed=true]{background:var(--ink);color:white}.floating-add{display:block;position:absolute;bottom:24px;left:50%;transform:translateX(-50%);box-shadow:0 5px 20px #17251f25;background:var(--lime);color:var(--ink);border-color:var(--lime);padding:14px 20px;border-radius:14px;white-space:nowrap}.map-controls{right:14px;bottom:100px}.map-location{top:14px;left:14px;font-size:.8rem;padding:10px 12px}.sheet{width:100%;height:96dvh;top:auto;bottom:0;border-radius:22px 22px 0 0;border:0}.sheet-header{padding:22px 20px 18px}.sheet-content{padding:22px 20px}.sheet-footer{padding:14px 20px max(18px,env(safe-area-inset-bottom))}.sheet h2{font-size:1.5rem}.sheet-header .eyebrow{font-size:.65rem}.form-grid{gap:18px 12px}.photo-grid{gap:8px}.detail-title{font-size:1.8rem}.toast{bottom:85px;min-width:240px;text-align:center}.pick-banner{top:65px;width:calc(100% - 28px);padding-left:12px}.pick-banner span{flex:1}.network:not([hidden])~.workspace{height:calc(100dvh - 166px - env(safe-area-inset-bottom))}.network:not([hidden])~.workspace .sidebar{top:106px}.login-card{padding:36px 28px}.login-card h1{font-size:2.3rem}}
@media(prefers-reduced-motion:no-preference){button,.place-card{transition:background .16s,border-color .16s}.sheet[open]{animation:enter .14s ease-out}@keyframes enter{from{opacity:0}to{opacity:1}}}
.place-name,.place-meta{display:block}.photo-add{position:relative;cursor:pointer}.photo-add input{display:block;position:absolute;width:1px;height:1px;min-height:1px;opacity:0;padding:0}.photo-add:focus-within{outline:3px solid var(--green);outline-offset:2px}.check-label input[type=radio]{width:19px;height:19px;min-height:19px;flex:0 0 auto;accent-color:var(--green)}
.photo-dialog{width:min(1000px,95vw);max-height:94dvh;overflow:auto;background:#fff;border-radius:14px;color:var(--ink);touch-action:pan-y pinch-zoom}
.photo-viewer{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);position:relative;min-width:0}
.photo-preview{background:#17251f;display:flex;align-items:center;justify-content:center;min-height:200px;overflow:hidden}
.photo-dialog #full-photo{width:100%;max-width:100%;max-height:90dvh;height:auto;object-fit:contain;border-radius:0}
.photo-dialog .photo-close{position:sticky;top:12px;right:auto;grid-column:1/-1;grid-row:1;justify-self:end;align-self:start;height:44px;margin:12px 12px -56px 0;z-index:3;box-shadow:0 2px 10px #0003}
.photo-preview,.photo-qr{grid-row:1}.photo-preview{grid-column:1}.photo-qr{grid-column:2;padding:68px 20px 22px;min-width:0;align-self:start}
.photo-qr h3{margin:0 0 16px;font-size:1rem}.qr-result{margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.qr-value{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.9rem;line-height:1.5;user-select:text;-webkit-user-select:text;margin:0 0 10px}
.qr-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:.875rem;font-weight:600}
.qr-actions button{padding:10px 12px}.qr-copy-fallback{width:100%;margin-top:10px}.photo-item>.photo-open{width:100%;height:100%}
@media(max-width:680px){.photo-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:94dvh}.photo-viewer{grid-template-columns:minmax(0,1fr)}.photo-preview{grid-column:1;grid-row:1}.photo-dialog #full-photo{max-height:58dvh}.photo-qr{grid-column:1;grid-row:2;padding:18px 16px 22px}.qr-result{margin-bottom:14px;padding-bottom:14px}.photo-dialog .photo-close{margin-right:10px}.photo-qr>.primary{width:100%}}
.location-steps{font-size:.875rem;line-height:1.55;padding-left:20px;color:var(--muted)}.location-steps li+li{margin-top:12px}#location-dialog,#delete-setting-dialog{box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto}#delete-setting-dialog .button-row{flex-wrap:wrap}
/* Every open window owns its scroll; exhausted gestures must not reach the map. */
html:has(body.modal-open){overflow:hidden;overscroll-behavior:none}
body.modal-open{position:fixed;top:var(--modal-scroll-top,0);left:0;right:0;width:100%;overflow:hidden;overscroll-behavior:none}
dialog{overscroll-behavior:contain}
dialog::backdrop{touch-action:none}
.sheet{overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}
.sheet,.confirm-dialog{touch-action:pan-y pinch-zoom}
.modal-underlay{pointer-events:none!important;overflow:hidden!important}
.place-list,.picker-menu,.check-grid,textarea{overscroll-behavior:contain}
.toast{pointer-events:none}
@media(pointer:coarse){.text-button{min-height:44px}.photo-item button.remove-photo{min-height:44px;width:44px}}
.category-select{min-width:0;border:1px solid #cfd7d0;border-radius:10px;background:white}
.category-select>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;font-size:1rem}
.category-select>summary::-webkit-details-marker{display:none}
.category-selection{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.category-chevron{flex:none;color:var(--muted)}
.category-select[open]{border-color:var(--green)}
.category-select[open] .category-chevron{transform:rotate(180deg)}
.category-select-panel{padding:0 10px 6px}
.category-select-panel input[type=search]{margin:0 0 8px}
.category-options{max-height:min(220px,30dvh);overflow:auto;overscroll-behavior:contain}
.category-options .check-label{min-height:44px;padding:10px 4px;align-items:center}
.category-options .check-label span{overflow-wrap:anywhere;min-width:0}
.category-options>p{margin:14px 4px}
.category-select-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:6px;margin-top:6px}

/* Manual follow-up mark: displayed on cards, changed only inside the editor. */
.needs-info-filter{min-height:44px;margin-top:8px;padding:4px 0;color:var(--muted);font-size:.8rem;gap:8px}
.needs-info-filter:has(input:checked){color:#805300}
.needs-info-filter .count{font-size:.75rem;min-width:24px;height:22px;margin-left:0}
.needs-info-filter+.results-heading{margin-top:4px}
.place-card.needs-info{box-shadow:inset 3px 0 #cf9a35}
.needs-info-badge{display:table;width:fit-content;max-width:100%;margin-top:8px;padding:4px 7px;border-radius:5px;background:#fff2cc;color:#805300;font-size:.75rem;font-weight:600;line-height:1.4}
.manual-note{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}
.manual-note>summary{min-height:44px;padding:12px 0;color:var(--muted);font-size:.875rem;line-height:1.45}
.manual-note-current{color:#805300}
.manual-note .check-label{align-items:flex-start;min-height:44px;padding:12px 0}
.manual-note .check-label input{margin-top:2px}

#filter-categories .check-label{min-height:44px}
.filter-category-name{flex:1;min-width:0;overflow-wrap:anywhere}
.filter-category-count{flex:none;min-width:28px;padding:3px 6px;border-radius:6px;background:#edf0ed;color:#526255;font-size:.8rem;line-height:1.4;text-align:center;font-variant-numeric:tabular-nums}

#whatsapp-filter{margin-top:8px;font-size:.875rem;min-height:44px}
.whatsapp-badge{display:table;width:fit-content;max-width:100%;margin-top:8px;padding:4px 7px;border-radius:5px;background:#e8f3ec;color:#236449;font-size:.75rem;font-weight:600;line-height:1.4}
.detail-footer-actions{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;align-items:center;gap:8px}
.quick-whatsapp{min-height:44px;padding:6px 0;font-size:.8rem;color:var(--muted)}
.quick-whatsapp:has(input:checked){color:var(--green)}
.quick-whatsapp input{align-self:center}
.quick-whatsapp .field-note{font-size:.7rem;margin-top:2px}
.quick-whatsapp .field-note:empty{display:none}
.location-card .form-actions{flex-wrap:wrap}
.address-search{margin-top:8px}
.address-search>.field-note{line-height:1.5;margin:0 0 10px}
.address-options{display:grid;gap:8px;margin-top:10px}
.address-options button{text-align:left;display:grid;gap:6px;width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.address-options small{font-size:.8rem;color:var(--muted);font-weight:400}
.google-attribution{text-align:right;font-family:Arial,sans-serif;font-size:14px;font-weight:400;white-space:nowrap;font-style:normal;letter-spacing:normal;color:#5e5e5e;margin:10px 0 0}
.pick-banner{flex-wrap:wrap;max-width:min(540px,calc(100% - 28px));z-index:5}
.pick-banner #pick-instruction{flex:1 1 100%;line-height:1.5}
.pick-actions{display:flex;justify-content:flex-end;gap:8px;width:100%}
#confirm-position{background:var(--lime);color:var(--ink)}
.picking-location .floating-add{display:none}
@media(max-width:440px){.detail-footer-actions{grid-template-columns:1fr 1fr}.quick-whatsapp{grid-column:1/-1;padding:4px 0}.detail-footer-actions>button{width:100%}}

/* Keep mobile browsing space for suppliers; reuse the same filter controls in a sheet. */
.search-row{display:flex;align-items:center;gap:8px}
.search-row .search{flex:1;min-width:0}
.search-row input{min-width:0}
.filters-toggle,.active-filters{display:none}
.filters-sheet[open]{display:flex;flex-direction:column}
.filters-sheet .sheet-header,.filters-sheet .sheet-footer{flex:none}
.filters-sheet .sheet-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.filters-sheet .filters{margin-top:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.filters-sheet .category-picker{grid-column:1/-1}
.filters-sheet .picker-menu{position:static;min-width:0;margin-top:8px;max-height:220px;box-shadow:none}
.filters-sheet .button-row{margin-top:0}
.filters-sheet .primary{flex:1}
.filters-sheet select,.filters-sheet #whatsapp-filter{font-size:1rem}
.filters-sheet .category-picker summary{font-size:1rem}
@media(max-width:680px){
  .sidebar-top{padding:12px 16px 0}
  .section-heading{margin-bottom:10px;min-height:44px}
  .section-heading .eyebrow{display:none}
  .section-heading h1{font-size:1.35rem}
  .search-row input{font-size:1rem}
  .filters-toggle{display:flex;align-items:center;gap:5px;padding:10px;flex:none}
  .filters-toggle .count{margin:0;min-width:22px;height:22px;font-size:.75rem}
  #filter-home{display:none}
  .active-filters{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;margin-top:8px;padding-bottom:2px}
  .active-filters .tag{flex:none;margin:0;white-space:nowrap}
  .results-heading{margin:8px 0 6px;min-height:30px}
  .results-heading .text-button{min-height:44px}
  .sidebar-footer{padding:8px 16px}
  .draft-banner{margin-bottom:8px}
}

/* Supplier marks stay out of crowded list cards and remain available through filters. */
.mark-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:10px}
.mark-filters label{font-size:.8rem;color:var(--muted)}
.mark-filters select{margin-top:5px;font-size:1rem}
.detail-footer-actions{display:flex;justify-content:flex-end;gap:8px}
.quick-marks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 95px;align-items:center;gap:10px;margin-bottom:10px}
.quick-mark{font-size:.8rem;line-height:1.4;min-height:44px;padding:0;margin:0}
.quick-mark:has(input:checked){color:var(--green)}
.quick-price{font-size:.8rem;color:var(--muted)}
.quick-price select{font-size:1rem;min-height:44px;margin-top:4px;padding:8px 10px}
.mark-save-status{margin:0 0 8px;line-height:1.4}
.mark-save-status:empty{display:none}
/* Shared coverage plan: manual areas, street sides, mall floors and places to revisit. */
.coverage-sheet{overflow-y:auto;overscroll-behavior:contain}.coverage-sheet .sheet-header{position:sticky;top:0}.coverage-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.coverage-stat{border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--surface);min-width:0}.coverage-stat strong{display:block;font-size:1.3rem}.coverage-stat span{font-size:.75rem;color:var(--muted)}.coverage-panes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 18px}.coverage-panes button{padding:8px 4px;min-width:0}.coverage-panes button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.coverage-card{border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;background:#fff}.coverage-card h3{font-size:1rem;margin:0 0 4px}.coverage-card p{font-size:.82rem;line-height:1.45;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}.coverage-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.coverage-actions button{padding:7px 10px;min-height:44px}.coverage-form{border:1px solid #cedbca;border-radius:12px;background:#f8faf6;padding:14px;margin:0 0 16px}.coverage-form h3{margin:0 0 12px}.coverage-form label{margin:0 0 10px}.coverage-form .button-row{justify-content:flex-start;flex-wrap:wrap;margin-top:10px}.coverage-form input,.coverage-form select,.coverage-form textarea{min-height:44px}.coverage-flag{display:inline-block;padding:4px 7px;border-radius:6px;font-size:.75rem;font-weight:650;background:#edf0ed;color:#46544c}.coverage-flag[data-status=planned]{background:#fde7e8;color:#a32629}.coverage-flag[data-status=in_progress]{background:#fff0dc;color:#824600}.coverage-flag[data-status=completed]{background:#e1f2e7;color:#17613a}.coverage-flag[data-status=return]{background:#fff0e6;color:#944713}.coverage-dim{color:var(--muted)}.coverage-form .coverage-inline{display:grid;grid-template-columns:1fr 1fr;gap:8px}.coverage-form .coverage-inline>*{min-width:0}.coverage-empty{color:var(--muted);font-size:.88rem;line-height:1.5}.coverage-pick-banner{position:fixed;z-index:25;top:90px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 24px));padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #17251f2f;display:flex;align-items:center;gap:10px}.coverage-pick-banner span{font-size:.82rem;line-height:1.4;flex:1}.coverage-pick-banner .pick-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.coverage-pick-banner button{padding:6px 9px;min-height:44px;font-size:.78rem}.coverage-sheet button:focus-visible{outline:3px solid #99b933;outline-offset:2px}
.coverage-legend{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}.coverage-legend .coverage-flag{border-left:3px solid transparent}.coverage-legend .coverage-flag[data-status=planned]{border-left-color:#de3f42}.coverage-legend .coverage-flag[data-status=in_progress]{border-left-color:#ef8b17}.coverage-legend .coverage-flag[data-status=completed]{border-left-color:#238253}
#coverage-section-status[data-status=planned],.coverage-actions select[data-status=planned]{border-left:4px solid #de3f42}#coverage-section-status[data-status=in_progress],.coverage-actions select[data-status=in_progress]{border-left:4px solid #ef8b17}#coverage-section-status[data-status=completed],.coverage-actions select[data-status=completed]{border-left:4px solid #238253}
@media(max-width:680px){.top-actions #coverage-btn{display:none}.mobile-tabs button{font-size:.82rem;padding:8px 4px;min-width:0}.coverage-pick-banner{top:76px;align-items:stretch;flex-direction:column}.coverage-pick-banner .pick-actions button{flex:1}.coverage-sheet .sheet-content{padding-bottom:calc(40px + env(safe-area-inset-bottom))}}
@media(max-width:370px){.coverage-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.coverage-stat{padding:8px}.coverage-stat strong{font-size:1.1rem}.coverage-panes button{font-size:.78rem}.mobile-tabs{padding-left:8px;padding-right:8px}}
@media(max-width:440px){
 .quick-marks{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 10px}
 .quick-price{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}
 .quick-price select{width:50%;margin:0}
 .detail-footer-actions>button{flex:1;width:auto}
}

/* The three compact controls occupy one row, away from Google's zoom control. */
.map-controls{display:flex;align-items:center;gap:6px;z-index:2}
.map-controls button{width:44px;height:44px;min-height:44px;flex:0 0 auto}
.map-controls #map-type-toggle{width:auto;min-width:70px;padding:0 8px;font-size:.78rem}
@media(max-width:680px){.map-controls{right:12px;bottom:88px}}

.map-location.tracking{pointer-events:auto}
.map-location.tracking .live-dot{background:#1a73e8}
.map-location.signal-lost .live-dot{background:#d77a1a}
.map-location #stop-location{min-height:44px;padding:5px 8px;font-size:.75rem;border-color:#c9dce7;color:#135a8b;background:#eef7ff}
@media(max-width:680px){.map-location.tracking{padding:4px 6px 4px 10px;gap:5px}}
/* Compact supplier cards and two-level assortment. */
.place-card{position:relative;display:block;padding:10px 8px;text-align:left}.place-main{display:flex;align-items:flex-start;gap:12px;width:100%;border:0;background:transparent;padding:0;min-height:0;font-weight:400;text-align:left}.place-main:hover{background:transparent}.place-main .place-card-body{flex:1;min-width:0}.place-main .place-thumb{width:58px;height:64px}.place-main .place-name{line-height:1.3;margin-bottom:3px}.has-subcategories .place-name{padding-right:77px}.place-main .place-meta{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.compact-tags{flex-wrap:nowrap;margin-top:6px;min-width:0;overflow:hidden}.compact-tags .tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.subcategory-badge{position:absolute;top:5px;right:7px;min-height:44px;padding:8px 3px;border:0;background:transparent;color:var(--green);font-size:.73rem;max-width:83px;white-space:nowrap}.place-card-marks{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;margin:4px 0 0 70px}.place-card-marks .whatsapp-badge,.place-card-marks .needs-info-badge{margin-top:0;font-size:.69rem}.cooperation-pill{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:30px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--cooperation-color) 28%,white);background:color-mix(in srgb,var(--cooperation-color) 10%,white);font-size:.76rem;border-radius:6px;color:var(--ink);font-weight:500}.cooperation-pill>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.cooperation-dot{display:inline-block;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--cooperation-color,#77817b);border:1px solid #0002}.cooperation-choice{display:flex;align-items:center;gap:12px;width:100%;margin:8px 0;text-align:left;padding:12px;min-height:48px}.cooperation-choice>span:nth-child(2){flex:1;overflow-wrap:anywhere}.cooperation-choice[aria-pressed=true]{border-color:var(--cooperation-color);background:color-mix(in srgb,var(--cooperation-color) 8%,white)}.dialog-corner-close{float:right;margin:-6px -6px 8px 12px}.confirm-dialog{max-height:90dvh;overflow:auto}#cooperation-name{overflow-wrap:anywhere}#cooperation-options{clear:both}#detail-cooperation{margin:14px 0}.detail-assortment{margin:14px 0;border:1px solid var(--line);border-radius:10px;padding:12px}.detail-assortment>summary{font-weight:600;cursor:pointer}.assortment-group{margin:18px 0}.assortment-group h3{font-size:.95rem;margin-bottom:8px;overflow-wrap:anywhere}.assortment-group ul{padding-left:20px;line-height:1.8;overflow-wrap:anywhere}.assortment-count-row{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;margin:5px 0;padding:10px 12px}.assortment-count-row>span:first-child{min-width:0;overflow-wrap:anywhere}#assortment-overview-content{margin-top:24px}#assortment-dialog label+label{margin-top:12px}#supplier-assortment-name{overflow-wrap:anywhere;font-size:1.25rem}.category-root-row{display:flex;align-items:center;gap:3px}.category-root-row>.check-label{flex:1;min-width:0;font-weight:600}.category-expand{min-height:44px;min-width:44px;padding:8px 4px;border:0;background:transparent;color:var(--green);font-size:.85rem}.category-children{padding-left:16px;margin:0 0 6px 9px;border-left:1px solid var(--line)}.category-children .check-label{font-size:.87rem}.category-group+.category-group{border-top:1px solid #edf0ed}.category-options{display:block}.category-options .check-label{display:flex;min-height:44px}.category-options .check-label>span{min-width:0;overflow-wrap:anywhere}.filter-category-name{overflow-wrap:anywhere}.picker-menu{max-height:360px;min-width:min(355px,88vw);overflow:auto}.picker-menu>input[type=search]{margin-bottom:8px;position:sticky;top:0;z-index:1;background:white}.cooperation-filter{margin-top:8px;border:1px solid var(--line);border-radius:9px;background:white}.cooperation-filter>summary{font-size:.85rem;padding:11px 12px;cursor:pointer}.cooperation-filter>div{padding:4px 12px 10px;max-height:230px;overflow:auto}.cooperation-filter .check-label{font-size:.85rem;overflow-wrap:anywhere;min-height:40px}.compact-filter{font-size:.8rem;padding:6px 2px}.results-heading{flex-wrap:wrap;gap:6px}.results-heading #assortment-btn{order:0;font-size:.8rem;margin-right:auto}.results-heading #results-count{order:2;flex-basis:100%;font-size:.78rem}.results-heading #clear-filters{order:1}#cooperation-delete-form label+label{margin-top:16px}.settings-edit input[type=color]{height:46px;padding:4px;width:100%}.settings-row .cooperation-dot{vertical-align:middle}.settings-row>span{min-width:0;padding-right:8px}#detail .cooperation-pill{min-height:44px}
@media(max-width:680px){.place-list{padding-left:10px;padding-right:10px}.place-card{padding:9px 5px}.place-card-marks{margin-left:70px}.place-card-marks .cooperation-pill{min-height:36px}.filters-sheet .picker-menu{max-height:350px}.filters-sheet .compact-filter{font-size:.88rem;min-height:40px}.filters-sheet .cooperation-filter>summary{font-size:1rem}.filters-sheet .cooperation-filter .check-label{min-height:44px}.subcategory-badge{right:5px}.results-heading #assortment-btn{min-height:32px;padding-top:4px;padding-bottom:4px}.results-heading{margin-top:6px}.place-main .place-name{font-size:.95rem}}
/* Keep the list usable on laptop screens too; filters reuse the existing sheet. */
#filter-home{display:none}.filters-toggle{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:10px;font-size:.82rem}.active-filters{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.sidebar-top{flex:none}.place-list{min-height:0}.workspace{overflow:hidden}.filters-sheet .picker-menu{position:static;min-width:0}.filters-sheet .filters{grid-template-columns:1fr 1fr}.filters-sheet .category-picker{grid-column:1/-1}
