@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root{--cc-bg:#f4f6f9;--cc-panel:#fff;--cc-panel-2:#f1f4f8;--cc-line:#e2e7ee;--cc-text:#16202e;--cc-muted:#46566b;--cc-accent:#1f4a9b;--cc-accent-hover:#24549f;--cc-accent-press:#173a7d;--cc-good:#1f7a4d;--cc-warn:#b57d1f;--cc-danger:#b3372f;--cc-ring:#1f4a9b;--cc-fs-caption:11px;--cc-fs-meta:12px;--cc-fs-ui:13px;--cc-fs-body:15px;--cc-fs-title:17px;--cc-fs-page:20px;--cc-fs-display:24px;--cc-space-1:4px;--cc-space-2:8px;--cc-space-3:12px;--cc-space-4:16px;--cc-space-5:24px;--cc-space-6:32px;--cc-radius-sm:6px;--cc-radius:8px;--cc-radius-lg:12px;--cc-e1:0 1px 2px #16202e0f;--cc-e2:0 2px 8px #16202e17;--cc-e3:0 8px 24px #16202e24;--cc-logo-h:28px;--cc-chrome-gap:10px;--cc-chrome-pad-x:14px;--cc-chrome-pad-y:10px;--cc-btn-h-touch:46px;--cc-btn-fs-touch:15px;--cc-btn-radius-touch:12px}@layer theme{:root,:host{--radius-md:calc(var(--ui-radius) - 2px);--radius-lg:var(--ui-radius);--radius-xl:calc(var(--ui-radius) + 4px)}}@layer base,components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ui-radius:.625rem;--ui-background:#fff;--ui-foreground:#111820;--ui-card:#fff;--ui-card-foreground:#111820;--ui-popover:#fff;--ui-popover-foreground:#111820;--ui-primary:#17202d;--ui-primary-foreground:#fafafa;--ui-secondary:#f3f4f7;--ui-secondary-foreground:#17202d;--ui-muted:#f3f4f7;--ui-muted-foreground:#4d555f;--ui-accent:#f3f4f7;--ui-accent-foreground:#17202d;--ui-destructive:#df202e;--ui-border:#e3e5e9;--ui-input:#e3e5e9;--ui-ring:#979fab;--bg:#f4f6f9;--panel:#fff;--panel-2:#f1f4f8;--line:#e2e7ee;--text:#16202e;--muted:#46566b;--accent:#1f4a9b;--accent-2:#1f4a9b;--accent-hover:#24549f;--accent-press:#173a7d;--good:#1e8e5a;--warn:#c77700;--danger:#c0392b;--danger-press:#9c2f22;--radius:var(--radius-md);--fs-caption:11px;--fs-meta:12px;--fs-ui:13px;--fs-body:15px;--fs-title:17px;--fs-page:20px;--fs-display:24px;--fs-cap:var(--fs-caption);--fs-sm:var(--fs-meta);--fs-base:var(--fs-ui);--fs-md:var(--fs-ui);--fs-lg:var(--fs-title);--fs-xl:var(--fs-page);--fw-med:500;--fw-semi:600;--fw-bold:700;--e1:0 1px 2px #14202e0f;--e2:0 2px 4px #14202e0f, 0 6px 16px -8px #14202e38;--e3:0 12px 32px -10px #14202e57;--ring:#1f4a9b;--live:#22c55e;--btn-h-touch:46px;--btn-fs-touch:15px;--btn-radius-touch:12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@supports (color:lab(0% 0 0)){:root{--ui-background:lab(100% 0 0);--ui-foreground:lab(7.71372% -1.0355 -7.10178);--ui-card:lab(100% 0 0);--ui-card-foreground:lab(7.71372% -1.0355 -7.10178);--ui-popover:lab(100% 0 0);--ui-popover-foreground:lab(7.71372% -1.0355 -7.10178);--ui-primary:lab(11.7117% -.834279 -10.0208);--ui-primary-foreground:lab(98.26% 0 0);--ui-secondary:lab(96.2775% -.261545 -1.48877);--ui-secondary-foreground:lab(11.7117% -.834279 -10.0208);--ui-muted:lab(96.2775% -.261545 -1.48877);--ui-muted-foreground:lab(35.6697% -1.05983 -7.31807);--ui-accent:lab(96.2775% -.261545 -1.48877);--ui-accent-foreground:lab(11.7117% -.834279 -10.0208);--ui-destructive:lab(49.0306% 69.7939 45.0284);--ui-border:lab(90.9387% -.324905 -1.85986);--ui-input:lab(90.9387% -.324905 -1.85986);--ui-ring:lab(65.1392% -1.16017 -7.36468)}}*{box-sizing:border-box}html,body{background:var(--panel);height:100%;color:var(--text);max-width:100%;margin:0;padding:0;overflow-x:hidden}body{touch-action:manipulation}@media print{html,body{max-width:none!important;height:auto!important;overflow:visible!important}}.leaflet-pane img,.leaflet-tile,.leaflet-marker-icon,.leaflet-image-layer{max-width:none!important;max-height:none!important}.leaflet-container{touch-action:none}.muted{color:var(--muted)}.sm{font-size:var(--fs-meta)}.btn{background:var(--accent);color:#fff;border-radius:var(--radius);font-size:var(--fs-ui);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:7px 12px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent-hover)}.btn:active{background:var(--accent-press)}.btn:focus-visible{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--ring);outline:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:var(--panel);border-color:var(--line);color:var(--text)}.btn.ghost:hover{background:var(--panel-2);border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){.btn.ghost:hover{border-color:color-mix(in srgb, var(--line) 75%, var(--muted))}}.btn.ghost:active{background:var(--line)}.btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{background:#000}@supports (color:color-mix(in lab, red, red)){.btn.danger:hover{background:color-mix(in srgb, #000 8%, var(--danger))}}.btn.danger:active{background:var(--danger-press)}.btn.danger.ghost{background:var(--panel);border-color:var(--line);color:var(--danger)}.btn.danger.ghost:hover{filter:none;background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.btn.danger.ghost:hover{background:color-mix(in srgb, var(--danger) 8%, var(--panel))}}.btn.danger.ghost:hover{border-color:var(--danger);color:var(--danger)}.btn.sm{font-size:var(--fs-meta);padding:4px 8px}.btn.xs{font-size:var(--fs-caption);padding:3px 7px;font-weight:600}.link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.link-btn.xs{font-size:var(--fs-caption)}.link-btn.danger{color:var(--danger)}input:focus-visible,select:focus-visible,textarea:focus-visible,.link-btn:focus-visible{box-shadow:0 0 0 2px var(--panel), 0 0 0 4px var(--ring);outline:none}.link-btn:hover{text-decoration:underline}input,textarea,select{background:var(--panel-2);color:var(--text);border:1px solid var(--line);font-size:var(--fs-ui);border-radius:6px;padding:6px 8px;font-family:inherit}textarea{resize:vertical;width:100%}.app{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{padding:calc(10px + env(safe-area-inset-top,0px)) 18px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;display:flex}.topbar-logo{object-fit:contain;flex:none;width:auto;max-width:110px;height:28px;display:block}.topbar-title{flex-direction:column;min-width:0;line-height:1.25;display:flex}.topbar-job{flex:0 auto;align-items:center;gap:4px;min-width:0;display:flex}.topbar-job .topbar-title{min-width:0}.topbar-job-edit{color:var(--muted);flex:none}.topbar-job-edit:hover{color:var(--accent)}.topbar-title strong{font-size:var(--fs-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-title .muted{font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}a.topbar-title-link{color:inherit;border-radius:6px;margin:-2px -6px;padding:2px 6px;text-decoration:none}a.topbar-title-link:hover{background:var(--panel-2)}a.topbar-title-link:hover strong{text-decoration:underline}.crumbs{font-size:var(--fs-meta);color:var(--muted);align-items:center;gap:5px;min-width:0;line-height:1.1;display:flex}.crumbs a{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-width:4ch;max-width:180px;text-decoration:none;overflow:hidden}.crumbs a:hover{color:var(--text);text-decoration:underline}.survey-menu{align-items:center;display:flex;position:relative}.survey-drawer-scrim{z-index:850;cursor:pointer;background:#16202e47;border:none;padding:0;position:fixed;inset:0}.survey-drawer{z-index:860;background:var(--panel);border-left:1px solid var(--line);flex-direction:column;width:min(400px,94vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #14202e33}.app.panel-open .survey-drawer{right:var(--editor-w);width:min(400px, calc(100vw - var(--editor-w)))}.survey-drawer-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.survey-drawer-head strong{font-size:var(--fs-title);font-weight:600;display:block}.survey-drawer-head .muted{margin-top:2px;display:block}.survey-drawer-body{flex-direction:column;flex:auto;gap:14px;min-height:0;padding:12px 16px 20px;display:flex;overflow-y:auto}.survey-new{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.survey-new-hint{margin:0}.survey-new-actions{justify-content:flex-end;gap:8px;display:flex}.survey-list{flex-direction:column;gap:6px;display:flex}.survey-row{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.survey-row.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.survey-row.on{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}}.survey-row-main{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.survey-row-main:hover{background:var(--panel-2)}.survey-row-date{font-size:var(--fs-body);color:var(--text);font-weight:600}.survey-row-sub{font-size:var(--fs-meta);color:var(--muted)}.survey-row-detail{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.survey-row-pick{border:1px solid var(--line);background:var(--panel);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.survey-row-pick:hover{background:var(--panel-2)}.survey-row-people{flex-wrap:wrap;gap:6px;display:flex}.survey-person{font-size:var(--fs-caption);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-weight:600}.survey-row-edit{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.survey-row-edit .field{flex-direction:column;gap:4px;min-width:0;margin:0;display:flex}.survey-row-edit .field input,.survey-row-edit .field textarea{box-sizing:border-box;width:100%}.survey-row-edit .field textarea{resize:vertical;min-height:72px;line-height:1.4}.survey-row-meta{margin:0}.topbar-actions{align-items:center;gap:12px;display:flex}.team-nav{align-items:center;gap:6px;display:flex}.team-nav-link{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);font-size:var(--fs-ui);color:var(--text);white-space:nowrap;padding:6px 12px;font-weight:600;text-decoration:none}.team-nav-link:hover{background:var(--panel-2)}.team-nav-link.active{background:var(--accent);color:#fff}.save-badge{font-size:var(--fs-meta);color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.save-dot{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.save-badge.saving{color:var(--warn)}.save-badge.saving .save-dot{background:var(--warn)}.save-badge.saved{color:var(--good)}.save-badge.saved .save-dot{background:var(--good)}.save-badge.error{color:var(--danger);font-weight:700}.save-badge.error .save-dot{background:var(--danger)}.presence{flex:none;align-items:center;gap:6px;display:inline-flex}.presence-chip{color:var(--accent);font-size:var(--fs-meta);white-space:nowrap;cursor:pointer;background:#eef4ff;border:1px solid #bfd3f2;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.presence-chip:hover{background:#dfeaff}.presence-dot{background:var(--live);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite presence-pulse}@keyframes presence-pulse{0%,to{opacity:1}50%{opacity:.35}}.load-error-banner{background:var(--danger);color:#fff;font-size:var(--fs-body);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:10px 16px;font-weight:600;display:flex}.load-error-banner .btn{color:var(--danger);background:#fff;border:none;font-weight:700}.body{flex:auto;min-height:0;display:flex}.map-col{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative}.editor-col{z-index:5;isolation:isolate;flex:0 0 var(--editor-w);background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.map-wrap{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;position:relative}.map-shell{z-index:0;isolation:isolate;flex:auto;min-height:0;position:relative;overflow:hidden}.map-canvas{background:#e9edf2;position:absolute;inset:0}.map-canvas.draw-mode,.map-canvas.placing{cursor:crosshair}.map-label-wrap{background:0 0;border:none}.map-label{white-space:nowrap;color:#fff;cursor:pointer;pointer-events:auto;background:#1f4a9bf2;border:1px solid #ffffff80;border-radius:6px;padding:4px 9px;font-size:13px;font-weight:600;line-height:1.2;display:inline-block;transform:translate(-50%,-50%);box-shadow:0 2px 6px #00000059}.map-arrowhead-wrap{background:0 0;border:none}.map-arrowhead{color:var(--accent);text-align:center;text-shadow:0 0 2px #fff,0 0 2px #fff;cursor:pointer;font-size:18px;line-height:20px}.map-elev{z-index:800;border:1px solid var(--line);font-size:var(--fs-meta);color:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;background:#ffffffeb;border-radius:6px;padding:4px 9px;position:absolute;bottom:36px;right:10px}.map-here-wrap{background:0 0;border:none}.map-here{background:var(--accent);border:2.5px solid #fff;border-radius:50%;width:16px;height:16px;margin:3px;animation:1.8s ease-out infinite map-here-pulse;box-shadow:0 0 #1f4a9b80}@keyframes map-here-pulse{0%{box-shadow:0 0 #1f4a9b80}70%{box-shadow:0 0 0 14px #1f4a9b00}to{box-shadow:0 0 #1f4a9b00}}.building-label{font-size:var(--fs-caption);color:var(--text);box-shadow:var(--e1);white-space:nowrap;background:#ffffffeb;border:none;border-radius:6px;padding:2px 7px;font-weight:700}.building-label:before{display:none}.map-canvas.draw-mode{cursor:crosshair}.region-draw-hint{z-index:1000;background:var(--accent);color:#fff;font-size:var(--fs-ui);box-shadow:var(--e2);white-space:nowrap;border-radius:999px;padding:8px 14px;font-weight:600;position:absolute;top:12px;left:50%;transform:translate(-50%)}.region-draw-hint span{opacity:.8;font-weight:500}.bldg-overlay{z-index:1600;background:#0a121e80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bldg-panel{background:var(--panel);border:1px solid var(--line);width:100%;max-width:520px;max-height:82vh;box-shadow:var(--e3);border-radius:14px;flex-direction:column;gap:12px;padding:18px 20px;display:flex;overflow-y:auto}.bldg-head{justify-content:space-between;align-items:center;display:flex}.bldg-head strong{font-size:var(--fs-title);align-items:center;gap:8px;display:inline-flex}.bldg-list{flex-direction:column;gap:8px;display:flex}.bldg-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bldg-color{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;flex:none;width:30px;height:30px;padding:0}.bldg-name{border:1px solid var(--line);min-width:100px;font:inherit;font-size:var(--fs-body);background:var(--panel-2);color:var(--text);border-radius:8px;flex:120px;padding:7px 9px}.bldg-count{font-size:var(--fs-meta);color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.bldg-help{margin:0 0 12px;line-height:1.4}.bldg-row-site{border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:8px}.bldg-site-hint{font-size:var(--fs-meta);flex:none}.loading-veil{color:var(--muted);z-index:800;background:#ffffffb3;place-items:center;display:grid;position:absolute;inset:0}.toolbar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;padding:6px 10px;display:flex}.wb-header{flex-wrap:nowrap;align-items:center;gap:10px;padding-block:8px}.wb-header .topbar-title .muted{display:none}.wb-header .topbar-job{flex:0 auto;min-width:0;max-width:14rem}.wb-header .topbar-actions{flex:none;gap:6px;margin-left:auto}.wb-header .topbar-actions .btn{gap:6px}.tools-launcher-scrim{z-index:880;cursor:pointer;background:#16202e52;border:none;padding:0;position:fixed;inset:0}.tools-launcher{z-index:890;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xl,14px);width:min(420px,100vw - 28px);max-height:min(90vh,560px);box-shadow:var(--e3);flex-direction:column;gap:14px;padding:16px;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.tools-launcher-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tools-launcher-head strong{font-size:var(--fs-title);font-weight:600}.tools-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tools-card{border:1px solid var(--line);background:var(--panel-2);min-height:108px;color:var(--text);text-align:left;font:inherit;cursor:pointer;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;width:100%;min-width:0;padding:14px;text-decoration:none;display:flex}.tools-card:hover:not(:disabled):not(.disabled){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tools-card:hover:not(:disabled):not(.disabled){border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}}.tools-card:hover:not(:disabled):not(.disabled){background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tools-card:hover:not(:disabled):not(.disabled){background:color-mix(in srgb, var(--accent) 8%, var(--panel))}}.tools-card:disabled,.tools-card.disabled{opacity:.45;cursor:default}.tools-card>svg{color:var(--accent);flex:none}.tools-card-title{font-size:var(--fs-ui);align-items:center;gap:8px;font-weight:700;display:flex}.tools-card-badge{background:var(--accent);color:#fff;font-size:var(--fs-caption);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 7px;font-weight:700}.tools-card-hint{line-height:1.3}.tools-secondary{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:2px;display:flex}.tools-secondary .btn{gap:6px}@media (max-width:760px){.tools-launcher{width:100%;max-height:min(85vh,620px);padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;inset:auto 0 0;transform:none}}.btn-count{font-size:var(--fs-caption);font-variant-numeric:tabular-nums;background:#ffffff3d;border-radius:999px;padding:2px 7px;font-weight:700;line-height:1}.toolbar-groups{flex-wrap:nowrap;align-items:center;gap:6px 4px;width:100%;display:flex}.toolbar .btn{gap:6px}@media (max-width:560px){.toolbar .btn-label,.toolbar .hint{display:none}.toolbar-groups{flex-wrap:wrap;row-gap:6px}.toolbar-group{padding:0 5px}.toolbar-group:first-child{padding-left:0}}.toolbar-group{border-left:1px solid var(--line);align-items:center;gap:6px;padding:0 8px;display:flex}.toolbar-group:first-child{border-left:none;padding-left:0}.toolbar-group.counts{color:var(--muted);font-size:var(--fs-meta);border-left:none}.btn.icon{font-size:var(--fs-body);justify-content:center;padding:7px 10px;line-height:1}.more-menu{position:relative}.more-menu>summary{cursor:pointer;list-style:none}.more-menu>summary::-webkit-details-marker{display:none}.more-menu-pop{z-index:900;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:200px;max-width:min(260px,100vw - 20px);box-shadow:var(--e3);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:auto}.more-menu-action{width:100%;color:var(--text);font:inherit;font-size:var(--fs-ui);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:row;align-items:center;gap:10px;padding:9px 12px;font-weight:600;display:flex}.more-menu-action svg{color:var(--muted);flex:none}.more-menu-action:hover svg,.more-menu-action.on svg{color:inherit}.more-menu-action:hover{background:var(--panel-2)}.more-menu-action.on{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.more-menu-action.on{background:color-mix(in srgb, var(--accent) 12%, var(--panel))}}.more-menu-action.on{color:var(--accent)}.more-menu-action:disabled{opacity:.4;cursor:default}.more-menu-action:disabled:hover{background:0 0}.more-menu-action .muted{font-weight:500;font-size:var(--fs-caption);margin-left:auto}@media (hover:none),(pointer:coarse),(max-width:760px){.more-menu-action .kbd{display:none}}.more-menu .survey-menu{width:100%}.more-menu-row{font-size:var(--fs-ui);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.more-menu-row select{border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;font-size:var(--fs-ui);border-radius:8px;padding:5px 8px}.hint{font-size:var(--fs-meta);color:var(--warn)}.hint.strong{color:var(--accent);font-weight:700}.legend{z-index:800;font-size:var(--fs-meta);flex-direction:column-reverse;align-items:flex-start;display:flex;position:absolute;bottom:28px;left:10px}.legend-toggle{cursor:pointer;border:1px solid var(--line);font-size:var(--fs-ui);color:var(--text);background:#fffffff5;border-radius:999px;padding:8px 14px;font-weight:700;box-shadow:0 1px 6px #00000026}.legend-body{display:none}.legend.open .legend-body{border:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff7;border-radius:10px;width:208px;max-height:46vh;margin-bottom:8px;padding:8px;display:block;overflow-y:auto;box-shadow:0 6px 20px #0000002e}.legend-head{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 2px;font-weight:600;display:flex}.legend-row{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.legend-row:hover{background:var(--panel-2)}.legend-row.active{border-color:var(--accent);background:var(--panel-2)}.legend-row.static{cursor:default;opacity:.75}.legend-row .sw{border:1px solid #ffffff59;border-radius:3px;flex:none;width:12px;height:12px}.legend-row .sw.neutral{border:1px solid var(--muted);background:0 0;border-radius:50%}.legend-head.legend-sub{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.legend-row .lbl{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.legend-row .ct{color:var(--muted);font-variant-numeric:tabular-nums}.sev-seg{max-width:none;margin-left:0}.pin-icon-wrap{background:0 0;border:none}:root{--pin-shadow:0 1px 2px #0000004d, 0 2px 5px #0003, 0 0 0 1px #0000000d;--pin-gloss:radial-gradient(circle at 50% 30%, #ffffff57, #ffffff0f 58%, #0000000f)}.pin-badge{color:#fff;text-shadow:0 1px 1px #00000040;width:26px;height:26px;box-shadow:var(--pin-shadow);background-color:#6b7785;background-image:var(--pin-gloss);border:2px solid #fff;border-radius:50% 50% 50% 0;place-items:center;font-size:11px;font-weight:700;display:grid;position:relative;transform:rotate(-45deg)}.pin-badge>*{transform:rotate(45deg)}.pin-badge.unplaced{opacity:.85}.pin-dot{background-color:#6b7785;border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1.5px #00000073,0 1px 3px #0006}.pin-badge.selected{box-shadow:0 0 0 3px var(--warn), 0 0 0 7px #f2b10059, var(--pin-shadow);z-index:1000;border-color:#fff;animation:.18s ease-out pin-select-pop;transform:rotate(-45deg)scale(1.5)}@keyframes pin-select-pop{0%{transform:rotate(-45deg)scale(1)}60%{transform:rotate(-45deg)scale(1.65)}to{transform:rotate(-45deg)scale(1.5)}}.pin-badge.severe{box-shadow:0 0 0 3px #ef444499, var(--pin-shadow);z-index:900;border-color:#fff}.pin-badge.picked{border-color:var(--accent);box-shadow:0 0 0 4px #1f4a9bd9, var(--pin-shadow);z-index:1100;animation:.15s ease-out pin-pick-pop;transform:rotate(-45deg)scale(1.25)}@keyframes pin-pick-pop{0%{transform:rotate(-45deg)scale(1)}to{transform:rotate(-45deg)scale(1.25)}}.pin-dir{width:44px;height:44px;position:relative}.pin-dir-rot{transform:rotate(var(--rot,0deg));position:absolute;inset:0}.pin-dir-point{filter:drop-shadow(0 1px 1.5px #0006);position:absolute;top:-1px;left:50%;transform:translate(-50%)}.pin-dir-point svg{display:block}.pin-dir-badge{background-color:var(--c,#6b7785);background-image:var(--pin-gloss);box-shadow:var(--pin-shadow);border:2px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;inset:7px}.pin-dir-num{color:#fff;text-shadow:0 1px 1px #00000040;font-size:12px;font-weight:700;line-height:1;position:relative}.pin-dir.selected .pin-dir-badge{box-shadow:0 0 0 3px var(--warn), 0 0 0 7px #f2b10059, var(--pin-shadow);transform:scale(1.4)}.pin-dir.picked .pin-dir-badge{box-shadow:0 0 0 4px #1f4a9bd9, var(--pin-shadow)}.pin-dir.severe .pin-dir-badge{box-shadow:0 0 0 3px #ef444499, var(--pin-shadow)}.pin-dir .pin-count{position:absolute;top:-2px;right:-2px}.select-box{z-index:800;border:1.5px solid var(--accent);pointer-events:none;background:#1f4a9b1f;position:absolute}.pin-history{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin:4px 0 10px;padding:8px 10px}.pin-history h4{font-size:var(--fs-meta);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}.history-row{border-top:1px solid var(--line);font-size:var(--fs-meta);grid-template-columns:74px auto 1fr;align-items:baseline;gap:8px;padding:4px 0;display:grid}.history-row:first-of-type{border-top:none}.history-row.active{font-weight:600}.history-date{color:var(--muted);font-variant-numeric:tabular-nums}.history-sev{color:var(--sev);white-space:nowrap;font-weight:600}.history-note{color:var(--text);text-overflow:ellipsis;overflow:hidden}.pin-count{color:#fff;background:#111;border:1px solid #fff;border-radius:10px;padding:1px 4px;font-size:9px;position:absolute;top:-8px;right:-8px}:root{--editor-w:clamp(460px, 40vw, 960px)}.pin-panel{background:var(--panel);flex-direction:column;flex:auto;gap:10px;width:100%;min-height:0;padding:12px 14px;display:flex;overflow-y:auto}.pin-more{border-top:1px solid var(--line);padding-top:8px}.pin-more>summary{cursor:pointer;font-size:var(--fs-meta);color:var(--muted);-webkit-user-select:none;user-select:none;font-weight:700;list-style:none}.pin-more>summary:before{content:"▸ "}.pin-more[open]>summary:before{content:"▾ "}.pin-more[open]{flex-direction:column;gap:10px;display:flex}@media (min-width:761px){.app:not(.panel-open) .editor-col{display:none}}.panel-empty{color:var(--muted)}.panel-empty h3{color:var(--text);margin:0 0 6px}.panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-head-l{align-items:center;gap:10px;min-width:0;display:flex}.panel-head h3{margin:0}.sev-chip{font-size:var(--fs-caption);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-weight:700}.sev-chip.severe{color:#b42318;background:#fee4e2}.sev-chip.monitor{color:#96660a;background:#fbecc8}.sev-chip.okay{color:#177245;background:#dcf3e5}.field{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-direction:column;gap:4px;display:flex}.field input,.field textarea,.field select{text-transform:none;letter-spacing:normal;color:var(--text);font-size:var(--fs-ui)}.field select{border:1px solid var(--line);background:var(--panel-2);font:inherit;border-radius:8px;padding:8px 10px}.save-standard{flex-direction:column;gap:4px;margin:-4px 0 2px;display:flex}.save-standard .btn{align-self:flex-start}.save-standard-hint{font-size:var(--fs-caption);color:var(--muted);line-height:1.35}.pin-photos{flex-direction:column;gap:10px;display:flex}.pin-photo{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;margin:0;padding:6px;display:flex;position:relative}.pin-photo img{object-fit:cover;cursor:pointer;background:#000;border-radius:8px;width:100%;height:auto;max-height:170px;display:block}.pin-photo-detach{color:#fff;width:26px;height:26px;font-size:var(--fs-ui);cursor:pointer;background:#0000008c;border:none;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.pin-photo-detach:hover{background:#000c}.pin-notes{gap:8px}.field-label.muted{color:var(--muted)}.pin-photos-empty{background:var(--panel-2);border:1px dashed var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.field-sub{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}.field-label.needs{color:var(--warn);font-weight:700}.viewer-kbd{font-size:var(--fs-caption);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.viewer-kbd span{opacity:.4;margin:0 2px}.viewer-kbd kbd{font-family:inherit;font-size:var(--fs-caption);color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;margin-right:1px;padding:1px 5px}.lines-list h4{margin:8px 0 6px}.line-row{gap:6px;margin-bottom:6px;display:flex}.line-row input{flex:auto}.panel-foot{margin-top:auto;padding-top:10px}.phototray{background:var(--panel);border-top:1px solid var(--line);flex-direction:column;flex:none;height:190px;display:flex}.phototray.collapsed{height:auto}.phototray.reel{z-index:20;flex:none;height:auto;max-height:none;position:relative;overflow:visible}.reel-filters{border-bottom:1px solid var(--line);flex-wrap:nowrap;align-items:center;gap:6px;padding:4px 10px;display:flex;overflow:visible}.reel-clear{flex:none;margin-left:auto}.reel-dd{flex:1 1 0;min-width:0;position:relative}.reel-dd.icon-only{flex:none}.reel-dd>summary{cursor:pointer;list-style:none}.reel-dd>summary::-webkit-details-marker{display:none}.reel-dd-btn{border:1px solid var(--line);background:var(--panel);width:100%;height:30px;color:var(--text);font-size:var(--fs-meta);box-sizing:border-box;border-radius:8px;align-items:center;gap:6px;padding:0 8px;font-weight:600;display:flex}.reel-dd.icon-only .reel-dd-btn{gap:4px;width:auto;padding:0 8px}.reel-dd-btn svg:last-child{color:var(--muted);flex:none;margin-left:auto}.reel-dd.icon-only .reel-dd-btn svg:last-child{margin-left:0}.reel-dd-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reel-dd-count{font-variant-numeric:tabular-nums;font-size:var(--fs-caption);color:var(--accent);font-weight:700}.reel-dd.on .reel-dd-btn{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.reel-dd.on .reel-dd-btn{background:color-mix(in srgb, var(--accent) 10%, var(--panel))}}.reel-dd[open] .reel-dd-btn{border-color:var(--accent)}.reel-dd-pop{z-index:900;background:var(--panel);border:1px solid var(--line);width:max-content;min-width:100%;max-width:min(280px,80vw);max-height:min(360px,50vh);box-shadow:var(--e3);border-radius:8px;flex-direction:column;gap:1px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.reel-dd.icon-only .reel-dd-pop{left:auto;right:0}.reel-dd-opt{width:100%;color:var(--text);font:inherit;font-size:var(--fs-ui);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-weight:600;display:flex}.reel-dd-opt:hover{background:var(--panel-2)}.reel-dd-opt.on{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.reel-dd-opt.on{background:color-mix(in srgb, var(--accent) 12%, var(--panel))}}.reel-dd-opt.on{color:var(--accent)}.reel-dd-check{border:2px solid var(--muted);flex:none;width:18px;height:18px}@supports (color:color-mix(in lab, red, red)){.reel-dd-check{border:2px solid color-mix(in srgb, var(--muted) 55%, var(--line))}}.reel-dd-check{color:#fff;box-sizing:border-box;background:#fff;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.reel-dd-check.on{border-color:var(--accent);background:var(--accent)}.reel-dd-opt.on .reel-dd-check{border-color:var(--accent);background:var(--accent);color:#fff}.reel-dd-swatch{border-radius:999px;flex:none;width:8px;height:8px}.reel-dd-opt-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reel-empty{padding:8px 4px}.reel-strip{flex:none;align-items:center;gap:8px;min-height:128px;padding:8px 12px 10px;display:flex;overflow:auto hidden}.reel-item{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;flex:none;width:152px;height:108px;padding:0;position:relative;overflow:hidden}.reel-item img{object-fit:cover;width:100%;height:100%;display:block}.reel-open{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;display:block}.reel-item.cur{outline:2.5px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.reel-item.selected{box-shadow:inset 0 0 0 3px var(--accent);border-color:var(--accent)}.reel-check{z-index:2;opacity:0;margin:0;transition:opacity .12s;position:absolute;bottom:4px;left:4px}.reel-check input{cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.reel-item:hover .reel-check,.reel-item.selected .reel-check,.reel-strip.has-selection .reel-check{opacity:1}@media (hover:none){.reel-check{opacity:1}}.reel-selbar{gap:10px}.reel-selcount{font-size:var(--fs-ui);color:var(--text);font-weight:600}.reel-num{color:#fff;text-shadow:0 1px 2px #000000b3;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;position:absolute;top:4px;left:5px}.reel-done{background:var(--good);color:#fff;border-radius:50%;place-items:center;width:15px;height:15px;display:grid;position:absolute;top:3px;right:3px;box-shadow:0 0 0 1.5px #fff}.reel-sev{border-radius:50%;width:10px;height:10px;position:absolute;bottom:4px;right:4px;box-shadow:0 0 0 1.5px #0006}.phototray-summary{font-size:var(--fs-meta);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;display:flex}.phototray-summary b{color:var(--text);font-variant-numeric:tabular-nums}.phototray-summary .btn{margin-left:auto}.tray-filter-select{font-size:var(--fs-meta);border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;max-width:100%;padding:5px 8px;display:none}.tray-filter-select.tray-person{display:block}.chip{background:var(--panel-2);border:1px solid var(--line);color:var(--muted);font-size:var(--fs-meta);cursor:pointer;border-radius:999px;padding:4px 12px}.chip.active{background:var(--accent);color:#fff;border-color:#0000}.tray-tab{color:var(--muted);font-size:var(--fs-meta);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 9px;font-weight:600}.tray-tab:hover{color:var(--text)}.tray-tab.active{color:var(--text);background:var(--panel-2)}.tray-actions{align-items:center;gap:10px;display:flex}.tray-empty{color:var(--muted);font-size:var(--fs-ui);flex:auto;place-items:center;display:grid}.tray-empty code{background:var(--panel-2);border-radius:4px;padding:1px 6px}.gallery-full{z-index:1800;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.gallery-head{padding:calc(10px + env(safe-area-inset-top)) 18px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.gallery-title{flex-wrap:wrap;align-items:baseline;gap:16px;min-width:0;display:flex}.gallery-title strong{font-size:var(--fs-body)}.gallery-legend{font-size:var(--fs-meta);color:var(--muted);gap:14px;display:flex}.gallery-legend-item{align-items:center;gap:5px;display:inline-flex}.gallery-key{border-radius:50%;width:12px;height:12px}.gallery-key.done{background:var(--good)}.gallery-key.review{border:2px solid var(--warn);background:0 0}.gallery-tools{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:12px;padding:8px 18px;display:flex}.gallery-filters{flex-wrap:wrap;gap:6px;display:flex}.gallery-body{padding:14px 18px calc(160px + env(safe-area-inset-bottom));flex:auto;overflow-y:auto}.gallery-empty{padding:24px 0}.gallery-grid{grid-template-columns:repeat(auto-fill, minmax(var(--gthumb,150px), 1fr));grid-auto-rows:var(--gthumb,150px);gap:10px;display:grid}.gallery-size{color:var(--muted);cursor:pointer;flex:none;align-items:center;gap:6px;margin:0 0 0 auto;display:inline-flex}.gallery-size input[type=range]{width:120px;accent-color:var(--accent);cursor:pointer}.gcard{box-shadow:inset 0 0 0 3px var(--warn);background:#000;border-radius:10px;position:relative;overflow:hidden}.gcard.done{box-shadow:inset 0 0 0 3px var(--good)}.gcard.selected{box-shadow:inset 0 0 0 3px var(--accent), 0 0 0 2px var(--accent)}.gcard-img{cursor:pointer;background:#000;border:none;width:100%;height:100%;padding:0;display:block}.gcard-img img{object-fit:cover;width:100%;height:100%;display:block}.gcard-order{color:#fff;font-size:var(--fs-caption);font-variant-numeric:tabular-nums;z-index:2;background:#0000009e;border-radius:5px;padding:1px 6px;font-weight:700;position:absolute;top:6px;left:6px}.gcard-status{z-index:2;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #00000047}.gcard.done .gcard-status{background:var(--good);color:#fff}.gcard.review .gcard-status{border:2px solid var(--warn);background:#0000006b}.gcard-check{z-index:2;opacity:0;transition:opacity .12s;position:absolute;bottom:6px;right:6px}.gcard-check input{cursor:pointer;width:18px;height:18px;accent-color:var(--accent)}.gcard:hover .gcard-check,.gcard.selected .gcard-check,.gallery-grid.has-selection .gcard-check{opacity:1}@media (hover:none){.gcard-check{opacity:1}}.gcard-foot{z-index:2;align-items:center;gap:5px;display:flex;position:absolute;bottom:6px;left:6px}.gcard-tags{z-index:2;pointer-events:none;flex-wrap:wrap;gap:3px;display:flex;position:absolute;bottom:28px;left:6px;right:28px}.gcard-badge{font-size:var(--fs-caption);letter-spacing:.02em;color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#16202eb8;border-radius:4px;align-items:center;gap:2px;max-width:100%;padding:1px 5px;font-weight:700;display:inline-flex;overflow:hidden}.gcard-badge.ov{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.gcard-badge.ov{background:color-mix(in srgb, var(--accent) 85%, #000)}}.gcard-badge.th{background:#b45309}.gcard-badge.feat{background:#16202ec7}.gcard-badge.sev-severe{background:#b91c1c}.gcard-badge.sev-monitor{background:#c2410c}.gcard-badge.sev-okay{background:#15803d}.gcard.overview{box-shadow:inset 0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.gcard.overview{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent)}}.gcard.thermal{box-shadow:inset 0 0 0 2px #f59e0b8c}.gcard.overview.thermal{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 4px #f59e0b66}@supports (color:color-mix(in lab, red, red)){.gcard.overview.thermal{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent), inset 0 0 0 4px #f59e0b66}}.gcard-pin{color:#fff;font-size:var(--fs-caption);background:#0000009e;border-radius:4px;padding:1px 5px;font-weight:700}.gcard-note{background:#ffffffeb;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #00000059}.gallery-selbar{padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--line);z-index:3;flex-wrap:wrap;align-items:center;gap:10px;max-height:42vh;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.gallery-sel-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gallery-sel-field{flex-direction:column;gap:2px;min-width:140px;display:inline-flex}.gallery-sel-field select{min-width:140px}.gallery-selcount{font-size:var(--fs-ui);color:var(--text);margin-right:auto;font-weight:600}.gallery-head-actions{flex:none;align-items:center;gap:8px;display:flex}.gallery-head-actions .btn{gap:5px}.gallery-upload-status{font-size:var(--fs-meta);color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.gallery-upload-status .spin{animation:.9s linear infinite gallery-spin}@keyframes gallery-spin{to{transform:rotate(360deg)}}.gallery-body.drag-over{outline:2px dashed var(--accent);outline-offset:-10px;background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.gallery-body.drag-over{background:color-mix(in srgb, var(--accent) 6%, var(--bg))}}.gallery-drop-hint{height:160px;color:var(--accent);font-size:var(--fs-body);background:var(--accent);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;font-weight:700;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.gallery-drop-hint{background:color-mix(in srgb, var(--accent) 10%, var(--panel))}}.gallery-drop-hint{pointer-events:none}.viewer{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06080beb;display:flex;position:fixed;inset:0}.review-panel{background:var(--panel);flex-direction:column;flex:auto;gap:6px;width:100%;min-height:0;padding:10px 14px 8px;display:flex;overflow:hidden}.review-body{flex-direction:column;flex:auto;gap:8px;min-height:0;padding-bottom:2px;display:flex;overflow-y:auto}.review-foot{border-top:1px solid var(--line);flex-direction:column;flex:none;gap:4px;padding-top:8px;display:flex}.review-undo{font-size:var(--fs-meta);align-self:center}.review-head{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;min-height:0;display:flex}.review-count{font-size:var(--fs-ui);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;flex:none;font-weight:700}.review-count-of{color:var(--muted);font-weight:600}.review-count-flag{color:var(--muted);font-weight:600;font-size:var(--fs-meta)}.review-head-sel{cursor:pointer;flex:0 auto;align-items:center;gap:4px;min-width:0;margin:0;display:inline-flex}.review-head-sel svg{color:var(--accent);flex:none}.review-head-sel select{min-width:2.6rem;max-width:10rem;font-size:var(--fs-meta);color:var(--text);cursor:pointer;text-overflow:ellipsis;background:0 0;border:none;flex:auto;padding:3px 0;font-weight:600}.review-head-sel select:focus{box-shadow:none;outline:none}.review-photo-wrap{flex:auto;min-height:220px;max-height:min(68vh,640px);display:flex;position:relative}.review-photo{object-fit:contain;border:1px solid var(--line);cursor:grab;background:#000;border-radius:8px;width:100%;height:100%;display:block}.review-photo:active{cursor:grabbing}.review-full{position:absolute;top:8px;right:8px}.review-photo-nav{z-index:2;color:#ffffffe6;cursor:pointer;opacity:.72;background:#080c1266;border:none;border-radius:8px;place-items:center;width:32px;height:48px;padding:0;transition:opacity .15s,background .15s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.review-photo-nav:hover:not(:disabled),.review-photo-nav:focus-visible{opacity:1;color:#fff;background:#080c1299}.review-photo-nav:disabled{opacity:.25;cursor:default;pointer-events:none}.review-photo-nav.prev{left:6px}.review-photo-nav.next{right:6px}.review-nav-row{gap:8px;display:flex}.review-nav-row .btn{flex:auto;justify-content:center;min-height:36px}.review-loc{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:8px;flex:0 auto;align-items:center;gap:5px;min-width:0;margin:0;padding:3px 7px;display:flex}.review-loc-pin{flex:none;max-width:7.5rem}.review-loc-bldg{flex:auto;min-width:0}.review-loc select{min-width:0;color:var(--text);font:inherit;font-size:var(--fs-ui);cursor:pointer;background:0 0;border:none;flex:auto;padding:2px 0;font-weight:500}.review-loc select:focus{outline:none}.review-head-actions{flex:none;align-items:center;gap:4px;margin-left:auto;display:flex}.review-map-toggle,.review-place-hint{display:none}.rp-duo{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;display:grid}.rp-duo-feat,.rp-duo-sev{flex-direction:column;gap:4px;min-width:0;margin:0;display:flex}.rp-duo-lab{height:16px;font-size:var(--fs-caption);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);align-items:center;gap:5px;font-weight:700;display:inline-flex}.rp-duo-feat select,.rp-duo .seg{box-sizing:border-box;height:38px}.rp-duo-feat select{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--text);font:inherit;font-size:var(--fs-ui);cursor:pointer;border-radius:8px;padding:0 8px;font-weight:500}.rp-duo .seg{align-items:stretch;width:100%;max-width:none;margin-left:0}.rp-duo .seg:focus{outline:2px solid var(--accent);outline-offset:2px}.rp-duo .seg:focus:not(:focus-visible){outline:none}.rp-duo .seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rp-duo .seg-b{justify-content:center;align-items:center;padding:0 4px;display:flex}.rp-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel-2);box-shadow:none;flex:none;overflow:hidden}.rp-row{cursor:pointer;background:var(--panel-2);align-items:center;gap:10px;min-height:40px;margin:0;padding:8px 12px;display:flex}.rp-row+.rp-row{border-top:1px solid var(--line)}.rp-row-lead{min-width:5.5rem;font-size:var(--fs-ui);color:var(--muted);flex:none;align-items:center;gap:7px;font-weight:600;display:inline-flex}.rp-row-lead svg,.rp-lead{color:var(--accent);flex:none}.rp-lab{font-size:var(--fs-ui);color:var(--muted);flex:none}.rp-val{min-width:0;max-width:66%;margin-left:auto}.rp-val select{width:100%}.rp-feature{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--e1)}.rp-row select{text-align:right;text-align-last:right;min-width:0;font-size:var(--fs-ui);color:var(--text);cursor:pointer;background:0 0;border:none;flex:auto;padding:4px 2px;font-weight:500}.rp-row select:focus{box-shadow:none;outline:none}.rp-sev{box-sizing:border-box;flex:none;width:100%;max-width:none;height:38px;margin-left:0}.rp-sev:focus{outline:2px solid var(--accent);outline-offset:2px}.rp-sev:focus:not(:focus-visible){outline:none}.rp-sev:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rp-sev-lab{font-size:var(--fs-ui);color:var(--muted);flex:none}.seg{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex:auto;gap:3px;max-width:280px;margin-left:auto;padding:3px;display:flex}.seg-b{text-align:center;font-size:var(--fs-ui);color:var(--sev,var(--muted));background:var(--sev,transparent);border:none;flex:1;font-weight:600}@supports (color:color-mix(in lab, red, red)){.seg-b{background:color-mix(in srgb, var(--sev,transparent) 16%, transparent)}}.seg-b{cursor:pointer;border-radius:8px;padding:8px 4px}.seg-b:hover{background:var(--sev,var(--muted))}@supports (color:color-mix(in lab, red, red)){.seg-b:hover{background:color-mix(in srgb, var(--sev,var(--muted)) 26%, transparent)}}.seg-b:hover{color:var(--sev,var(--text))}.seg-b.on{color:#fff;background:var(--sev);box-shadow:0 1px 2px #00000026}.rp-note{flex-direction:column;flex:none;gap:6px;display:flex}.rp-note-head{font-size:var(--fs-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.rp-note textarea{border:1px solid var(--line);background:var(--panel-2);width:100%;min-height:64px;font:inherit;font-size:var(--fs-body);resize:vertical;border-radius:8px;flex:none;padding:8px 10px;line-height:1.4}.review-panel input:focus,.review-panel input:focus-visible,.review-panel select:focus,.review-panel select:focus-visible,.review-panel textarea:focus,.review-panel textarea:focus-visible{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);outline:none}.review-kbd-btn{flex:none}.viewer-actions{align-items:stretch;gap:8px;margin-top:0;display:flex}.viewer-actions .btn{min-height:38px;font-size:var(--fs-body);flex:auto;justify-content:center}.viewer-actions .btn.icon{flex:none;width:38px;min-height:38px;padding-inline:0}.viewer-fullscreen{z-index:3000;cursor:zoom-out;background:#06080bf2;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.viewer-fullscreen img{object-fit:contain;max-width:100%;max-height:100%}.viewer-fullscreen-hint{color:var(--muted);font-size:var(--fs-meta);position:absolute;bottom:16px}.viewer-fullscreen-name{color:#fff;max-width:min(90vw,640px);font-size:var(--fs-meta);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#0000008c;border-radius:8px;padding:6px 12px;position:absolute;top:16px;left:50%;overflow:hidden;transform:translate(-50%)}.standards-full{z-index:1500;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.standards-full-head{background:var(--panel);border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex}.standards-full-head strong{font-size:var(--fs-body)}.standards-full-head p{max-width:760px;margin:2px 0 0}.standards-full-head-actions{flex:none;align-items:center;gap:12px;display:flex}.standards-ml{flex:auto;grid-template-columns:280px 1fr;min-height:0;display:grid}.standards-rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:10px;min-height:0;padding:12px;display:flex}.standards-filter{font-size:var(--fs-ui);border:1px solid var(--line);background:var(--bg);border-radius:8px;flex:none;padding:8px 12px}.standards-rail-list{flex-direction:column;flex:auto;gap:2px;display:flex;overflow-y:auto}.standards-rail-empty{padding:8px 4px}.standards-rail-item{text-align:left;width:100%;color:var(--text);font-size:var(--fs-ui);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-weight:600;display:flex}.standards-rail-item:hover{background:var(--panel-2)}.standards-rail-item.active{background:var(--accent);color:#fff}.standards-rail-item.active .standards-custom-tag{color:#fff;background:#ffffff2e;border-color:#0000}.standards-rail-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.standards-rail-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px}.standards-rail-item.active .standards-rail-dot{background:#fff}.standards-add{flex:none;align-self:flex-start}.standards-custom-tag{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.03em;color:var(--accent);background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:1px 6px;font-weight:700}.standards-pane{min-height:0;padding:20px 24px 40px;overflow-y:auto}.standards-pane-head{align-items:center;gap:12px;min-height:30px;margin-bottom:18px;display:flex}.standards-pane-title{font-size:var(--fs-page);margin:0;font-weight:700}.standards-pane-tools{align-items:center;gap:14px;font-weight:600;display:inline-flex}.standards-saved{font-size:var(--fs-meta);color:var(--good);align-items:center;gap:4px;margin-left:auto;font-weight:700;display:inline-flex}.standards-pane-body{flex-direction:column;gap:18px;max-width:720px;display:flex}.standards-rename{flex:auto;align-items:center;gap:8px;min-width:0;display:inline-flex}.standards-rename input{min-width:0;font-size:var(--fs-body);flex:0 320px;font-weight:600}.standards-sev-cell{flex-direction:column;gap:6px;display:flex}.standards-sev-head{font-size:var(--fs-meta);color:var(--muted);align-items:center;gap:8px;font-weight:700;display:flex}.standards-sev-head .link-btn{margin-left:auto}.standards-sev-note{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.03em;color:var(--danger);background:#c0392b14;border-radius:4px;padding:1px 6px;font-weight:700}.standards-sev-cell textarea{width:100%;font-size:var(--fs-ui);resize:vertical;border:1px solid var(--line);border-radius:8px;padding:10px 12px;line-height:1.45}@media (max-width:720px){.standards-full-head{padding-left:16px;padding-right:16px}.standards-ml{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.standards-rail{border-right:none;border-bottom:1px solid var(--line);max-height:40vh}}@media (min-width:761px) and (max-width:1024px){.app{--editor-w:clamp(340px, 42vw, 470px)}.app.panel-open .survey-drawer{width:min(400px,94vw);right:0}.wb-header{flex-wrap:nowrap;gap:8px}.wb-header .topbar-job{max-width:9rem}.wb-header .topbar-actions .btn-label{display:none}}@media (max-width:760px){.body{flex-direction:column}.map-col,.map-wrap{flex:auto;height:auto}.editor-col{border:none;display:contents}.app.panel-open .survey-drawer{width:min(400px,94vw);right:0}.app.review-open .map-col>.topbar,.app.review-open .phototray{display:none}.app.review-open .legend{top:56px}.app.review-open .leaflet-top{top:46px}.topbar{padding:calc(6px + env(safe-area-inset-top,0px)) 10px 6px;flex-wrap:nowrap;gap:6px 8px}.topbar-logo{max-width:88px;height:24px}.topbar-title{flex:auto;min-width:0}.topbar-title .muted{display:none}.topbar-actions{flex-wrap:nowrap;flex:none;gap:6px}.save-badge .save-text{display:none}.survey-menu .btn,.team-nav-link{font-size:var(--fs-meta);padding:6px 10px}.toolbar{padding:5px 8px}.toolbar-groups{gap:5px}.toolbar-group{gap:4px;padding:0 5px}.toolbar .btn{font-size:var(--fs-meta);padding:6px 9px}.btn.icon{font-size:var(--fs-ui);padding:6px 8px}.toolbar .hint{display:none}.legend{flex-direction:column;align-items:flex-start;top:10px;bottom:auto;left:10px}.legend.open .legend-body{margin-top:8px;margin-bottom:0}.leaflet-control-attribution{font-size:9px}.pin-panel,.review-panel{z-index:900;border-top:1px solid var(--line);border-radius:16px 16px 0 0;width:100%;max-height:82vh;transition:transform .22s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(105%);box-shadow:0 -10px 30px #00000040}.app.panel-open .pin-panel,.app.panel-open .review-panel{transform:none}.review-panel{border-radius:0;height:100dvh;max-height:none;top:0;overflow:hidden}.review-panel .review-head{background:var(--panel);border-bottom:1px solid var(--line);margin:-10px -14px 0;padding:8px 10px 8px 14px}.review-panel .review-foot{background:var(--panel)}.review-panel.map-peek{pointer-events:none;box-shadow:none;background:0 0;justify-content:space-between}.review-panel.map-peek .review-head,.review-panel.map-peek .review-foot{pointer-events:auto}.review-panel.map-peek .review-foot{border-top:none;box-shadow:0 -10px 24px #0000002e}.review-panel.map-peek .review-body,.review-panel.map-peek .viewer-kbd{display:none}.review-map-toggle{display:inline-flex}.review-place-hint{pointer-events:none;background:var(--accent);color:#fff;font-size:var(--fs-ui);border-radius:999px;align-self:center;margin-top:8px;padding:7px 14px;font-weight:600;display:block;box-shadow:0 4px 14px #00000047}.btn{padding:9px 13px}.wb-header{padding:calc(6px + env(safe-area-inset-top,0px)) 10px 6px;flex-wrap:nowrap;gap:6px}.wb-header .topbar-job{max-width:7.5rem}.wb-header .topbar-actions .btn-label{display:none}.rp-row{min-height:46px}.seg-b{padding:9px 4px}.phototray.reel{height:auto;max-height:none}}.sevbar-wrap{flex-direction:column;gap:10px;display:flex}.sevbar{background:#eaeef3;border-radius:999px;height:10px;display:flex;overflow:hidden}.sevbar-seg{height:100%}.sevbar-seg:first-child{border-top-left-radius:999px;border-bottom-left-radius:999px}.sevbar-seg:last-child{border-top-right-radius:999px;border-bottom-right-radius:999px}.sevbar-empty{width:100%}.sevbar-legend{font-size:var(--fs-ui);color:#5a6a7d;flex-wrap:wrap;gap:4px 16px;display:flex}.sevbar-legend-item{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.sevbar-legend-item b{color:var(--text);font-weight:700}.sevbar-dot{border-radius:50%;flex:none;width:9px;height:9px}.sevbar-legend-empty{color:#8595a6;font-size:var(--fs-ui)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
