@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/InterVariable-Italic.woff2) format("woff2-variations");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Bricolage;src:url(/fonts/BricolageGrotesque.woff2) format("woff2-variations");font-weight:200 800;font-style:normal;font-display:swap}:root{--c-bg: #fdfaf0;--c-bg-cream: #f5efe0;--c-bg-warm: #ede5cf;--c-bg-dark: #0d1410;--c-ink: #0d1410;--c-ink-soft: #2d3530;--c-ink-muted: #6a6453;--c-ink-faint: #a39c87;--c-line: #d6cfba;--c-line-soft: rgba(214, 207, 186, .55);--c-primary: #2e6f48;--c-primary-dark: #1a4a2e;--c-primary-soft: #cfe2d4;--c-accent: #f0a525;--c-accent-warm: #ffc55c;--c-accent-dark: #a87625;--c-heart: #e84757;--c-status-found: #e84757;--c-status-secured: #f0a525;--c-status-released: #2e6f48;--c-status-falsealarm: #a39c87;--font-display: "Bricolage", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--fs-eyebrow: .75rem;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.4375rem;--fs-xl: 1.875rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--r-sm: 10px;--r-md: 18px;--r-lg: 28px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(13, 20, 16, .04), 0 2px 4px rgba(13, 20, 16, .04);--shadow-2: 0 4px 12px -4px rgba(13, 20, 16, .08), 0 8px 24px -8px rgba(13, 20, 16, .1);--shadow-3: 0 16px 40px -12px rgba(13, 20, 16, .18), 0 32px 64px -24px rgba(13, 20, 16, .14);--tap-min: 44px;--t-fast: .16s cubic-bezier(.4, 0, .2, 1);--t-med: .28s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;height:100%;width:100%}body{font-family:var(--font-body);font-size:var(--fs-base);font-weight:400;line-height:1.5;color:var(--c-ink);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.map{position:absolute;inset:0}.banner{position:absolute;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-4);padding-top:max(var(--s-3),env(safe-area-inset-top));background:#0d1410eb;backdrop-filter:saturate(140%) blur(8px);color:var(--c-bg);font-size:var(--fs-sm)}.banner-title{display:flex;align-items:baseline;gap:var(--s-2);min-width:0}.banner-org{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;font-size:var(--fs-md)}.banner small{color:var(--c-ink-faint);font-weight:400;font-size:var(--fs-xs)}.banner-right{display:flex;align-items:center;gap:var(--s-2)}.banner-user{display:flex;align-items:center;gap:var(--s-2);color:var(--c-bg);font-size:var(--fs-xs)}.banner-user strong{font-weight:600}.banner-user .role-chip{background:#2e6f4866;border:1px solid rgba(207,226,212,.25);color:var(--c-primary-soft);padding:2px 8px;border-radius:var(--r-pill);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.banner-menu-btn,.banner-login-btn{appearance:none;background:transparent;border:1px solid rgba(253,250,240,.25);color:var(--c-bg);font:inherit;font-size:var(--fs-xs);font-weight:600;padding:var(--s-2) var(--s-3);min-height:36px;border-radius:var(--r-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-2);transition:background var(--t-fast),border-color var(--t-fast)}.banner-menu-btn:hover,.banner-login-btn:hover{background:#fdfaf01a;border-color:#fdfaf073}.banner-menu-btn:focus-visible,.banner-login-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.burger{display:inline-flex;flex-direction:column;justify-content:space-between;width:16px;height:12px}.burger span{display:block;height:2px;background:currentColor;border-radius:1px}.status-err{color:#ffbdc4;font-size:var(--fs-xs)}.sidenav-backdrop{position:fixed;inset:0;background:#0d141080;backdrop-filter:blur(2px);z-index:1900;display:flex;justify-content:flex-end;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sidenav{background:var(--c-bg);width:min(360px,100vw);height:100vh;display:flex;flex-direction:column;box-shadow:var(--shadow-3);animation:slide-in-right .2s cubic-bezier(.4,0,.2,1)}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.sidenav-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-4) var(--s-5);padding-top:max(var(--s-4),env(safe-area-inset-top));border-bottom:1px solid var(--c-line)}.sidenav-header h2{font-family:var(--font-display);font-weight:700;margin:0;font-size:var(--fs-lg);letter-spacing:-.01em}.sidenav-close{appearance:none;border:0;background:transparent;cursor:pointer;width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-sm);font-size:22px;color:var(--c-ink-soft);display:inline-flex;align-items:center;justify-content:center}.sidenav-close:hover{background:var(--c-bg-cream)}.sidenav-user{padding:var(--s-4) var(--s-5);background:var(--c-bg-cream);border-bottom:1px solid var(--c-line)}.sidenav-user-email{font-weight:600;color:var(--c-ink)}.sidenav-user-role{margin-top:2px;font-size:var(--fs-xs);color:var(--c-ink-muted);letter-spacing:.04em;text-transform:uppercase}.sidenav-list{list-style:none;margin:0;padding:var(--s-3) 0;flex:1;overflow-y:auto}.sidenav-item{appearance:none;border:0;background:transparent;font:inherit;font-size:var(--fs-md);text-align:left;width:100%;padding:var(--s-3) var(--s-5);min-height:var(--tap-min);cursor:pointer;color:var(--c-ink);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);border-radius:0;transition:background var(--t-fast)}.sidenav-item:hover,.sidenav-item:focus-visible{background:var(--c-bg-cream);outline:none}.sidenav-item .badge{background:var(--c-primary);color:var(--c-bg);font-size:var(--fs-xs);font-weight:600;padding:2px 8px;border-radius:var(--r-pill)}.sidenav-item.danger{color:var(--c-heart)}.sidenav-section{padding:var(--s-3) var(--s-5) var(--s-1);font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-muted)}.sidenav-active-op{margin:var(--s-3) var(--s-5);padding:var(--s-3) var(--s-4);background:var(--c-primary-soft);border-left:3px solid var(--c-primary);border-radius:var(--r-sm);font-size:var(--fs-sm)}.sidenav-active-op strong{color:var(--c-primary-dark)}.sidenav-footer{padding:var(--s-4) var(--s-5);padding-bottom:max(var(--s-4),env(safe-area-inset-bottom));border-top:1px solid var(--c-line);font-size:var(--fs-xs);color:var(--c-ink-muted)}.toolbar{position:absolute;bottom:max(var(--s-4),env(safe-area-inset-bottom));left:var(--s-4);z-index:900;display:flex;flex-direction:row;gap:var(--s-2);padding:var(--s-2);background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--shadow-2);max-width:calc(100vw - 2 * var(--s-4));flex-wrap:wrap}.tb-btn{appearance:none;font:inherit;font-size:var(--fs-sm);font-weight:600;padding:var(--s-2) var(--s-4);min-height:40px;min-width:40px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink-soft);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),box-shadow var(--t-fast);white-space:nowrap}.tb-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.tb-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.tb-btn.active{background:var(--c-primary);color:var(--c-bg);border-color:var(--c-primary);box-shadow:var(--shadow-1)}.tb-btn.active:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.tb-btn:disabled,.tb-btn[disabled]{opacity:.45;cursor:not-allowed;background:var(--c-bg-cream);color:var(--c-ink-faint);border-color:var(--c-line-soft)}.tb-btn:disabled:hover{border-color:var(--c-line-soft);color:var(--c-ink-faint)}.home-btn{position:absolute;bottom:max(var(--s-4),env(safe-area-inset-bottom));right:var(--s-4);z-index:900;font:inherit;font-weight:600;font-size:var(--fs-sm);padding:var(--s-3) var(--s-4);min-height:var(--tap-min);background:var(--c-bg);color:var(--c-ink-soft);border:1px solid var(--c-line);border-radius:var(--r-pill);box-shadow:var(--shadow-2);cursor:pointer}.home-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.parcel-status,.draw-hint{position:absolute;top:calc(56px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:800;display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:500;box-shadow:var(--shadow-2)}.parcel-status{background:var(--c-bg);border:1px solid var(--c-line);color:var(--c-ink-soft)}.parcel-spinner{width:12px;height:12px;border:2px solid var(--c-line);border-top-color:var(--c-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.draw-hint{background:var(--c-primary);color:var(--c-bg);border:0}.draw-hint kbd{background:#fdfaf033;border:1px solid rgba(253,250,240,.3);border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:.7rem;color:inherit}.toast-stack{position:fixed;bottom:max(96px,calc(env(safe-area-inset-bottom) + 88px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:var(--s-2);z-index:1500;pointer-events:none;max-width:calc(100vw - 2 * var(--s-4))}.toast-item{pointer-events:auto;background:var(--c-bg-dark);color:var(--c-bg);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);box-shadow:var(--shadow-3);display:flex;align-items:center;gap:var(--s-3);animation:toast-in .18s ease-out}.toast-info{background:var(--c-bg-dark)}.toast-error{background:var(--c-heart);color:#fff}.toast-close{background:transparent;border:0;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0 0 0 var(--s-2);opacity:.7}.toast-close:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.update-banner{position:fixed;top:max(64px,calc(env(safe-area-inset-top) + 56px));left:50%;transform:translate(-50%);background:var(--c-accent);color:var(--c-ink);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;display:flex;align-items:center;gap:var(--s-3);z-index:1500;box-shadow:var(--shadow-2)}.update-btn{font:inherit;font-size:var(--fs-xs);font-weight:700;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:0;cursor:pointer;background:var(--c-ink);color:var(--c-bg)}.update-btn.ghost{background:transparent;color:var(--c-ink);border:1px solid rgba(13,20,16,.3)}.loading-banner{position:absolute;top:calc(64px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:var(--c-bg-dark);color:var(--c-bg);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-sm);z-index:1001}.sync-pill{display:inline-flex;align-items:center;padding:var(--s-1) var(--s-3);border-radius:var(--r-pill);background:#fdfaf014;border:1px solid rgba(253,250,240,.18);font-size:var(--fs-xs);font-weight:500;color:var(--c-bg)}.sync-pill.sync-offline{background:#e8475740;border-color:#e8475780}.map-loading{position:absolute;inset:0;background:linear-gradient(180deg,var(--c-bg-warm) 0%,var(--c-bg-cream) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);z-index:50;pointer-events:none;font-size:var(--fs-sm);color:var(--c-primary-dark);font-weight:600;animation:map-loading-fade-out .3s ease-out 1.5s forwards}.map-loading:before{content:"";width:32px;height:32px;border:3px solid var(--c-line);border-top-color:var(--c-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes map-loading-fade-out{to{opacity:0;pointer-events:none}}.modal-backdrop{position:fixed;inset:0;background:#0d14108c;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--s-4);animation:fade-in .15s ease-out}.modal{background:var(--c-bg);padding:var(--s-5);border-radius:var(--r-md);width:min(440px,92vw);max-height:calc(100vh - 2 * var(--s-4));overflow-y:auto;box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:var(--s-3)}.modal-help{width:min(580px,92vw)}.modal h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em}.modal label{display:flex;flex-direction:column;gap:var(--s-1);font-size:var(--fs-xs);font-weight:600;color:var(--c-ink-soft);text-transform:uppercase;letter-spacing:.04em}.modal-req{color:var(--c-heart);font-weight:700}.modal input,.modal select,.modal textarea{font:inherit;font-size:var(--fs-base);font-weight:400;text-transform:none;letter-spacing:normal;color:var(--c-ink);padding:var(--s-3);min-height:var(--tap-min);border:1px solid var(--c-line);border-radius:var(--r-sm);background:var(--c-bg)}.modal textarea{resize:vertical}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--c-primary-soft)}.modal-error{margin:0;color:var(--c-heart);font-size:var(--fs-sm);font-weight:500}.modal-hint{margin:0;font-size:var(--fs-sm);color:var(--c-ink-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-2)}.modal-actions button{font:inherit;font-size:var(--fs-sm);font-weight:600;padding:var(--s-3) var(--s-5);min-height:var(--tap-min);border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink-soft);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast)}.modal-actions button:hover{border-color:var(--c-primary);color:var(--c-primary)}.modal-actions button.primary{background:var(--c-primary);color:var(--c-bg);border-color:var(--c-primary)}.modal-actions button.primary:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.modal-actions button.danger{background:var(--c-heart);color:#fff;border-color:var(--c-heart);margin-right:auto}.modal-actions button:disabled{opacity:.5;cursor:progress}.help-list{margin:0;padding-left:var(--s-5);font-size:var(--fs-sm);line-height:1.55;display:flex;flex-direction:column;gap:var(--s-2);color:var(--c-ink-soft)}.help-list strong{color:var(--c-ink)}.help-list kbd{background:var(--c-bg-cream);border:1px solid var(--c-line);border-radius:4px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:var(--fs-xs)}.magic-link-display{display:block;padding:var(--s-3);background:var(--c-bg-cream);border:1px solid var(--c-line);border-radius:var(--r-sm);font-size:var(--fs-xs);word-break:break-all;user-select:all;font-family:ui-monospace,monospace}.form-row{display:flex;gap:var(--s-3);text-transform:none}.form-row label{flex:1}.maplibregl-popup-content{border-radius:var(--r-md)!important;padding:var(--s-3) var(--s-4)!important;box-shadow:var(--shadow-2)!important;font-family:var(--font-body)!important;background:var(--c-bg)!important;color:var(--c-ink)!important;font-size:var(--fs-sm)!important}.popup-actions{display:flex;gap:var(--s-1);margin-top:var(--s-2);flex-wrap:wrap}.popup-actions button{font:inherit;font-size:var(--fs-xs);font-weight:600;padding:var(--s-2) var(--s-3);min-height:32px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink-soft);cursor:pointer}.popup-actions button:hover{border-color:var(--c-primary);color:var(--c-primary)}.popup-share{display:flex;gap:var(--s-1);margin-top:var(--s-2);border-top:1px solid var(--c-line-soft);padding-top:var(--s-2)}.popup-share-link,.popup-share-btn{font:inherit;font-size:var(--fs-xs);font-weight:600;padding:var(--s-2) var(--s-3);min-height:32px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink-soft);text-decoration:none;cursor:pointer;display:inline-flex;align-items:center}.popup-share-link:hover,.popup-share-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.rescue-warn{background:var(--c-accent-warm);color:var(--c-accent-dark);padding:var(--s-1) var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:600;margin-top:var(--s-2)}.rescue-alert{background:var(--c-heart);color:#fff;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-xs);font-weight:700;margin-top:var(--s-2)}.poly-edit-bar{position:absolute;bottom:max(80px,calc(env(safe-area-inset-bottom) + 72px));left:50%;transform:translate(-50%);background:var(--c-bg);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);display:flex;gap:var(--s-2);align-items:center;font-size:var(--fs-sm);box-shadow:var(--shadow-2);z-index:1100;max-width:calc(100vw - 2 * var(--s-3));flex-wrap:wrap}.poly-edit-hint{flex:1;min-width:180px;color:var(--c-ink-muted)}.ops-backdrop{position:fixed;inset:0;background:#0d141080;backdrop-filter:blur(2px);z-index:1900;display:flex;justify-content:flex-end;animation:fade-in .15s ease-out}.ops-panel{background:var(--c-bg);width:min(440px,100vw);height:100vh;display:flex;flex-direction:column;box-shadow:var(--shadow-3);animation:slide-in-right .2s cubic-bezier(.4,0,.2,1)}@media (max-width: 700px){.ops-backdrop{align-items:flex-end;justify-content:stretch}.ops-panel{width:100vw;max-height:88vh;height:88vh;border-radius:var(--r-md) var(--r-md) 0 0;animation:slide-up .22s cubic-bezier(.4,0,.2,1)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ops-panel:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--c-line);margin:var(--s-2) auto 0}}.ops-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-4) var(--s-5);padding-top:max(var(--s-4),env(safe-area-inset-top));border-bottom:1px solid var(--c-line)}.ops-header h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-lg);margin:0;letter-spacing:-.01em}.ops-close{appearance:none;border:0;background:transparent;color:var(--c-ink-soft);cursor:pointer;font-size:22px;width:var(--tap-min);height:var(--tap-min);border-radius:var(--r-sm)}.ops-close:hover{background:var(--c-bg-cream)}.ops-tabs{display:flex;gap:var(--s-1);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--c-line);overflow-x:auto}.ops-tab{font:inherit;font-size:var(--fs-xs);font-weight:600;padding:var(--s-2) var(--s-3);min-height:36px;border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink-soft);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap}.ops-tab.active{background:var(--c-primary);color:var(--c-bg);border-color:var(--c-primary)}.ops-list{flex:1;overflow-y:auto;padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-3)}.ops-empty{margin:var(--s-6) var(--s-3);text-align:center;color:var(--c-ink-muted);font-size:var(--fs-sm)}.ops-empty .link{background:transparent;border:0;color:var(--c-primary);text-decoration:underline;cursor:pointer;font:inherit}.ops-error{color:var(--c-heart)}.ops-item{border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--s-3) var(--s-4);background:var(--c-bg);display:flex;flex-direction:column;gap:var(--s-2);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.ops-item:hover{border-color:var(--c-primary-soft);box-shadow:var(--shadow-1)}.ops-item-head{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;font-size:var(--fs-xs)}.ops-date{font-weight:700;color:var(--c-primary-dark);font-size:var(--fs-sm)}.ops-time{font-variant-numeric:tabular-nums;color:var(--c-ink-muted)}.ops-status{margin-left:auto;font-size:.6875rem;font-weight:700;padding:3px 10px;border-radius:var(--r-pill);color:var(--c-ink);letter-spacing:.04em;text-transform:uppercase}.ops-field{background:transparent;border:0;text-align:left;font:inherit;font-size:var(--fs-md);font-family:var(--font-display);font-weight:600;color:var(--c-ink);cursor:pointer;padding:var(--s-1) 0;letter-spacing:-.005em}.ops-field:hover{color:var(--c-primary)}.ops-notes{margin:0;font-size:var(--fs-sm);color:var(--c-ink-muted);white-space:pre-wrap}.ops-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-1)}.ops-btn{font:inherit;font-size:var(--fs-xs);font-weight:600;padding:var(--s-2) var(--s-3);min-height:36px;border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-bg);color:var(--c-ink-soft);cursor:pointer}.ops-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}.ops-btn.primary{background:var(--c-primary);color:var(--c-bg);border-color:var(--c-primary)}.ops-btn.primary:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.ops-btn-full{width:100%}.ops-footer{padding:var(--s-3) var(--s-4);border-top:1px solid var(--c-line);padding-bottom:max(var(--s-3),env(safe-area-inset-bottom))}
