@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color:#ebebeb;--highlight-color:#f5f5f5;--animation-duration:1.5s;--animation-direction:normal;--pseudo-element-display:block;background-color:var(--base-color);-webkit-user-select:none;user-select:none;border-radius:.25rem;width:100%;line-height:1;display:inline-flex;position:relative;overflow:hidden}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);background-repeat:no-repeat;background-image:var(--custom-highlight-background,linear-gradient(90deg, var(--base-color) 0%, var(--highlight-color) 50%, var(--base-color) 100%));height:100%;animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute;top:0;left:0;right:0;transform:translate(-100%)}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display:none}}@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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#17231f;--muted:#65716c;--line:#dbe3df;--line-strong:#c5d0ca;--paper:#fff;--canvas:#f4f7f5;--green-950:#143c2e;--green-900:#18513c;--green-800:#1f654b;--green-700:#27805e;--green-100:#dff1e8;--green-50:#eef8f3;--amber:#c87516;--amber-soft:#fff1d8;--red:#b84942;--shadow:0 12px 35px #183b2e1f;--focus:#2d82e5}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--canvas)}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:15px}button,input,select,textarea{font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 65%, transparent)}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px}button{color:inherit}a{color:var(--green-800)}img{max-width:100%;display:block}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{background:var(--canvas);flex-direction:column;height:100dvh;min-height:680px;display:flex;overflow:hidden}.access-state{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.access-state section{border:1px solid var(--line);text-align:center;background:#fff;border-radius:18px;width:min(520px,100%);padding:40px 32px;box-shadow:0 18px 50px #1f2d261a}.access-state-icon{color:#913c37;background:#fff0ef;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 18px;font-size:24px;font-weight:800;display:grid}.access-state h1{color:var(--ink);margin:0;font-size:24px}.access-state p{color:var(--muted);margin:14px auto 24px;line-height:1.7}.access-state .primary-button{text-decoration:none;display:inline-flex}.login-page{background:radial-gradient(circle at top, #e9f5ef, var(--canvas) 46%);place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(440px,100%);padding:42px 38px;box-shadow:0 22px 60px #183b2e24}.login-mark{color:#fff;background:var(--green-800);border-radius:15px;place-items:center;width:52px;height:52px;margin-bottom:22px;font-size:29px;font-weight:900;display:grid}.login-card>span{color:var(--green-700);letter-spacing:.04em;font-size:12px;font-weight:800}.login-card h1{letter-spacing:-.045em;margin:8px 0 10px;font-size:25px}.login-card>p{color:var(--muted);margin:0 0 28px;line-height:1.6}.login-card form,.password-form{gap:16px;display:grid}.login-card label,.password-form label{gap:7px;display:grid}.login-card label>span,.password-form label>span{color:var(--ink);font-size:13px;font-weight:750}.login-card input,.password-form input{border:1px solid var(--line-strong);background:#fff;border-radius:10px;width:100%;height:46px;padding:0 13px}.login-card .primary-button{color:#fff;border-color:var(--green-800);background:var(--green-800);width:100%;margin-top:4px}.bootstrap-card{width:min(480px,100%)}.bootstrap-target{border:1px solid var(--line);background:var(--green-50);border-radius:12px;gap:4px;margin:0 0 20px;padding:14px 16px;display:grid}.bootstrap-target span{color:var(--muted);font-size:12px;font-weight:700}.bootstrap-target strong{font-size:16px}.login-card label.password-visibility{align-items:center;gap:9px;display:flex}.login-card label.password-visibility input{width:18px;height:18px;margin:0}.login-card label.password-visibility span{font-weight:650}.password-dialog{width:min(500px,100vw - 32px)}.modal-backdrop-front{z-index:120}.password-form small{color:var(--muted)}.app-header{color:#fff;z-index:30;background:linear-gradient(118deg,#143f30 0%,#1b5c43 68%,#216b4f 100%);flex:0 0 64px;grid-template-columns:minmax(250px,1fr) minmax(280px,560px) max-content;align-items:center;gap:18px;height:64px;padding:0 24px;display:grid;box-shadow:0 3px 12px #143c2e38}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand-mark{width:38px;height:38px;color:var(--green-950);background:#d8f0e3;border-radius:11px;place-items:center;font-size:24px;font-weight:900;display:grid;box-shadow:inset 0 0 0 1px #ffffffa6}.brand div{gap:1px;display:grid}.brand strong{letter-spacing:-.035em;font-size:17px}.brand small{color:#c2dacf;letter-spacing:.03em;font-size:11px}.global-search{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:12px;align-items:center;gap:9px;height:43px;padding:0 15px;display:flex}.global-search:focus-within{background:#ffffff2b;border-color:#ffffffb8}.global-search>span:first-child{color:#d5e8df;font-size:22px;transform:rotate(-15deg)}.global-search input{color:#fff;background:0 0;border:0;outline:0;width:100%;min-width:0}.global-search input::placeholder{color:#c4d7cf}.header-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:9px;min-width:0;display:flex}.primary-button,.secondary-button{white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-weight:750;transition:transform .14s,box-shadow .14s,background .14s;display:inline-flex}.primary-button{color:var(--green-950);background:#e7f6ee;border:1px solid #d9f0e4;box-shadow:0 4px 12px #07291d33}.primary-button:hover{background:#fff;transform:translateY(-1px)}.secondary-button{border:1px solid var(--line-strong);color:var(--ink);background:#fff}.secondary-button:hover{background:#f6faf8}.app-header .secondary-button{color:#fff;background:#ffffff14;border-color:#ffffff4d}.app-header .secondary-button:hover{background:#ffffff29}.header-more{position:relative}.header-more summary{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff4d;border-radius:10px;align-items:center;gap:5px;min-height:42px;padding:0 13px;font-weight:750;list-style:none;display:inline-flex}.header-more summary::-webkit-details-marker{display:none}.header-more summary:hover,.header-more[open] summary{background:#ffffff29}.header-more-menu{z-index:80;border:1px solid var(--line);min-width:174px;box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.header-more-menu button{min-height:38px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;padding:0 11px;font-size:12px;font-weight:700}.header-more-menu button:hover{background:var(--green-50)}.sample-banner{color:#6b4512;background:#fff4df;border-bottom:1px solid #f0d7ac;flex:none;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:8px 24px;font-size:12px;display:flex}.sample-banner span{font-size:16px}.sample-banner p{margin:0}.sample-banner strong{color:#4e330f;margin-right:5px}.kpi-strip{border-bottom:1px solid var(--line);background:#fff;flex:none;grid-template-columns:repeat(7,minmax(130px,1fr));min-height:66px;padding:8px 14px;display:grid}.kpi-strip article{border-right:1px solid var(--line);grid-template-rows:auto 1fr;grid-template-columns:1fr auto;align-items:end;column-gap:8px;min-width:0;padding:2px 18px;display:grid}.kpi-strip article:last-child{border-right:0}.kpi-strip article>span{color:var(--muted);grid-column:1;font-size:12px;font-weight:700}.kpi-strip article>strong{letter-spacing:-.04em;grid-column:1;align-self:center;font-size:23px;line-height:1.1}.kpi-strip article>strong i{color:var(--muted);margin-left:2px;font-size:13px;font-style:normal;font-weight:500}.kpi-strip article>small{color:#8a9590;text-align:right;grid-area:1/2/span 2;align-self:center;font-size:11px}.kpi-strip article.needs-attention>strong{color:var(--amber)}.workspace{flex:auto;grid-template-columns:320px minmax(520px,1fr) 390px;min-height:0;transition:grid-template-columns .2s;display:grid;overflow:hidden}.workspace[data-detail-open=false]{grid-template-columns:320px minmax(520px,1fr) 0}.workspace[data-detail-open=false] .detail-wrap{visibility:hidden;pointer-events:none;border-left:0}.list-panel,.detail-panel{background:#fff;min-height:0}.list-panel{border-right:1px solid var(--line);flex-direction:column;display:flex}.panel-head,.map-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:13px 18px;display:flex}.eyebrow{color:var(--green-700);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:850;display:block}.panel-head h1,.map-toolbar h2,.detail-head h2{letter-spacing:-.035em;margin:0;font-size:20px;line-height:1.2}.panel-head>b{min-width:34px;height:30px;color:var(--green-800);background:var(--green-50);border-radius:18px;place-items:center;padding:0 9px;font-size:13px;display:grid}.filters{grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px 8px;display:grid}.filters.is-admin{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.filters label{min-width:0}.filters select,.detail-section select,.form-step select,.form-step input,.form-step textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);background:#fff;border-radius:9px}.filters select{height:39px;padding:0 25px 0 9px;font-size:12px}.filters.is-admin select{font-size:11px}.result-summary{height:35px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 16px;font-size:11px;display:flex}.text-button{color:var(--green-700);text-underline-offset:3px;background:0 0;border:0;padding:3px 0;font-size:11px;font-weight:750;text-decoration:underline}.facility-list{scrollbar-width:thin;scrollbar-color:#b7c5be transparent;flex:1;min-height:0;padding:0 9px 22px;overflow:auto}.facility-card{width:100%;color:inherit;text-align:left;background:#fff;border:1px solid #0000;border-radius:12px;margin:0 0 7px;padding:13px 14px;transition:border .14s,background .14s,transform .14s;display:block}.facility-card:hover{border-color:var(--line);background:#f9fbfa;transform:translateY(-1px)}.facility-card.is-selected{border:2px solid var(--green-700);background:#eaf8f1;box-shadow:0 0 0 3px #25805e21,0 6px 16px #164e391f}.facility-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.facility-card-top>span:last-child{color:#84908a;font-size:11px}.facility-card-flags{color:#84908a;justify-content:flex-end;align-items:center;gap:6px;min-width:0;font-size:11px;display:flex}.selected-indicator{color:#fff;background:var(--green-700);white-space:nowrap;border-radius:10px;padding:3px 6px;font-size:10px;font-weight:850}.facility-card>strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:15px;display:block;overflow:hidden}.facility-card>p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0 0 9px;font-size:12px;overflow:hidden}.card-meta{color:#738079;align-items:center;gap:7px;font-size:11px;display:flex}.card-meta span{border-right:1px solid var(--line);padding-right:7px}.card-meta .due-date{color:#9d5c12;margin-left:auto;font-weight:750}.stage-badge{white-space:nowrap;border:1px solid #0000;border-radius:15px;align-items:center;gap:4px;width:fit-content;padding:4px 7px;font-size:11px;font-weight:850;display:inline-flex}.stage-badge>span{font-size:10px}.stage-survey{color:#245f90;background:#e8f3fd;border-color:#c9e2f7}.stage-consent{color:#7a5714;background:#fff3d7;border-color:#efdba9}.stage-scheduled{color:#75488d;background:#f3eafb;border-color:#ddc9eb}.stage-installed{color:#176345;background:#e0f3e9;border-color:#b8dfcb}.skeleton-card{border-bottom:1px solid var(--line);gap:8px;padding:14px;display:grid}.empty-list{color:var(--muted);text-align:center;place-items:center;gap:8px;padding:70px 20px;display:grid}.empty-list>span{font-size:36px}.empty-list strong{color:var(--ink)}.empty-list p{margin:0;font-size:12px}.map-panel{background:#e9efeb;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.map-toolbar{z-index:5;background:#fffffff5;flex:0 0 70px}.map-notices{align-items:center;gap:8px;display:flex}.key-notice,.visible-count{border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:10px;display:inline-flex}.key-notice{color:#6f4b14;background:var(--amber-soft);border:1px solid #efd9b5}.key-notice i{color:#fff;background:var(--amber);border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;font-style:normal;font-weight:900;display:grid}.visible-count{color:var(--green-800);background:var(--green-50);font-weight:750}.detail-toggle{border:1px solid var(--line-strong);min-height:31px;color:var(--green-800);background:#fff;border-radius:8px;padding:0 10px;font-size:11px;font-weight:800}.detail-toggle:hover{background:var(--green-50)}.map-surface,.map-skeleton{flex:1;min-height:0;position:relative;overflow:hidden}.map-skeleton>span{height:100%;display:block}.fallback-map{z-index:0;background-color:#e8eee9;background-image:linear-gradient(32deg,#0000 48%,#ffffffb8 49% 51%,#0000 52%),linear-gradient(121deg,#0000 49%,#ffffff7a 50%,#0000 51%),radial-gradient(circle at 25% 22%,#d9e7dc 0 8%,#0000 8.3%),radial-gradient(circle at 78% 18%,#d8e5d9 0 9%,#0000 9.3%);background-size:180px 180px,230px 230px,auto,auto;position:absolute;inset:0;overflow:hidden}.fallback-map:after{content:"서울시 개략도";color:#30463d73;letter-spacing:.08em;font-size:10px;position:absolute;bottom:18px;right:16px}.han-river{opacity:.95;background:#cfe8ef;border:15px solid #b4d9e4;border-width:15px 0;border-radius:48% 52% 40% 60%;width:116%;height:11%;position:absolute;top:55%;left:-8%;transform:rotate(-4deg)}.map-road{transform-origin:0;background:#ffffffeb;border:1px solid #ced5d1;border-radius:12px;height:7px;position:absolute;box-shadow:0 0 0 2px #ffffff59}.road-one{width:92%;top:30%;left:8%;transform:rotate(16deg)}.road-two{width:80%;top:83%;left:15%;transform:rotate(-36deg)}.road-three{width:75%;top:8%;left:48%;transform:rotate(84deg)}.district{color:#253d3380;letter-spacing:.02em;pointer-events:none;font-size:11px;font-weight:800;position:absolute}.district-nw{top:28%;left:14%}.district-n{top:14%;left:60%}.district-center{top:43%;left:43%}.district-east{top:45%;left:68%}.district-south{top:76%;left:31%}.map-marker{z-index:3;color:#fff;background:#66746d;border:3px solid #fff;border-radius:50% 50% 50% 10%;place-items:center;width:30px;height:30px;display:grid;position:absolute;transform:translate(-50%,-50%)rotate(-45deg);box-shadow:0 4px 10px #1a32284d}.map-marker>span{font-size:11px;font-weight:900;transform:rotate(45deg)}.map-marker:hover,.map-marker.is-selected{z-index:5;transform:translate(-50%,-50%)rotate(-45deg)scale(1.18)}.map-marker.is-selected{box-shadow:0 0 0 6px #25805e47,0 7px 16px #143c2e6b}.fallback-marker-label{z-index:7;border:2px solid var(--green-700);max-width:180px;color:var(--green-900);opacity:0;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:9px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:900;line-height:1.2;transition:opacity .12s;display:flex;position:absolute;overflow:hidden;transform:translate(-50%,-52px);box-shadow:0 6px 18px #143c2e3d}.fallback-marker-label b{color:#fff;background:var(--green-700);border-radius:6px;padding:2px 4px;font-size:8px}.map-marker:hover+.fallback-marker-label,.fallback-marker-label.is-selected{opacity:1}.kakao-hover-label{color:#123c2d;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #176f4f;border-radius:9px;max-width:200px;padding:7px 10px;font-size:12px;font-weight:850;line-height:1.2;position:relative;overflow:hidden;box-shadow:0 6px 17px #0a2e2142}.kakao-hover-label:after{content:"";background:#fff;border-bottom:1px solid #176f4f;border-right:1px solid #176f4f;width:9px;height:9px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.kakao-selected-label{color:#123c2d;pointer-events:none;white-space:nowrap;background:#fff;border:2px solid #176f4f;border-radius:10px;align-items:center;gap:6px;max-width:220px;padding:7px 10px;display:flex;position:relative;box-shadow:0 7px 20px #0a2e2152}.kakao-selected-label:after{content:"";background:#fff;border-bottom:2px solid #176f4f;border-right:2px solid #176f4f;width:11px;height:11px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.kakao-selected-label span{color:#fff;background:#176f4f;border-radius:8px;padding:3px 5px;font-size:9px;font-weight:850}.kakao-selected-label strong{text-overflow:ellipsis;max-width:150px;font-size:12px;overflow:hidden}.kakao-selected-halo{pointer-events:none;background:#3aae7f33;border:4px solid #176f4f94;border-radius:50%;width:40px;height:40px;animation:1.5s ease-in-out infinite selected-map-pulse;transform:translateY(-18px);box-shadow:0 0 0 6px #3aae7f24}@keyframes selected-map-pulse{0%,to{opacity:.72;transform:translateY(-18px)scale(.88)}50%{opacity:1;transform:translateY(-18px)scale(1.08)}}.marker-survey{background:#347db3!important}.marker-consent{background:#d99a27!important}.marker-scheduled{background:#8e5da7!important}.marker-installed{background:#24835f!important}.kakao-map{z-index:6;opacity:0;transition:opacity .2s;position:absolute;inset:0}.kakao-map.is-ready{opacity:1}.map-loading{z-index:8;color:var(--muted);box-shadow:var(--shadow);background:#ffffffeb;border-radius:12px;place-items:center;gap:7px;padding:16px 20px;font-size:11px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-loading.map-error{color:#8a3d2b;top:16px;transform:translate(-50%)}.map-legend{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #beccc4bf;border-radius:10px;flex-wrap:wrap;gap:9px;max-width:calc(100% - 32px);padding:8px 11px;display:flex;position:absolute;bottom:16px;left:16px;box-shadow:0 6px 16px #223e331f}.map-legend span{color:#56645e;align-items:center;gap:4px;font-size:9px;font-weight:700;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.map-compass{width:34px;height:34px;color:var(--green-900);background:#ffffffe6;border:1px solid #c4d0ca;border-radius:50%;place-items:center;font-size:10px;font-weight:900;display:grid;position:absolute;top:18px;right:17px;box-shadow:0 3px 10px #223e3321}.map-compass:before{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-bottom:7px solid var(--green-700);width:0;height:0;position:absolute;top:4px}.detail-wrap{border-left:1px solid var(--line);background:#fff;min-width:0;min-height:0;overflow:hidden}.detail-panel{scrollbar-width:thin;scrollbar-color:#b7c5be transparent;height:100%;overflow-y:auto}.mobile-back{display:none}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;min-height:91px;padding:17px 18px;display:flex}.detail-head h2{text-overflow:ellipsis;white-space:nowrap;max-width:245px;overflow:hidden}.detail-head p{color:var(--muted);margin:6px 0 0;font-size:12px}.detail-section{border-bottom:1px solid var(--line);padding:16px 18px}.section-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-title h3{letter-spacing:-.02em;margin:0;font-size:14px}.section-title>span{color:var(--muted);font-size:11px}.stage-track{grid-template-columns:repeat(4,1fr);margin:3px 0 13px;display:grid}.stage-track>span{color:#9da8a3;justify-items:center;gap:4px;font-size:10px;display:grid;position:relative}.stage-track>span:before{content:"";background:#dfe6e2;height:2px;position:absolute;top:10px;left:0;right:50%;transform:translate(-50%)}.stage-track>span:first-child:before{display:none}.stage-track i{z-index:1;background:#fff;border:2px solid #d5ded9;border-radius:50%;place-items:center;width:21px;height:21px;font-size:8px;font-style:normal;display:grid;position:relative}.stage-track .is-done,.stage-track .is-current{color:var(--green-800);font-weight:750}.stage-track .is-done:before,.stage-track .is-current:before{background:#76b89a}.stage-track .is-done i{color:#fff;border-color:var(--green-700);background:var(--green-700)}.stage-track .is-current i{border-color:var(--green-700);box-shadow:0 0 0 3px var(--green-100)}.field-label{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:750;display:block}.detail-section select{height:40px;padding:0 11px;font-size:13px}.workflow-section{background:#fffaf0;border:1px solid #e6c67a;border-radius:12px;margin:12px}.workflow-section.is-ready{background:#f1faf6;border-color:#89c8aa}.workflow-help{color:var(--muted);margin:-3px 0 12px;font-size:11px;line-height:1.55}.workflow-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.workflow-fields label{color:var(--muted);gap:5px;font-size:11px;font-weight:700;display:grid}.workflow-fields input{border:1px solid var(--line-strong);width:100%;height:40px;color:var(--ink);background:#fff;border-radius:9px;padding:0 10px}.workflow-status{color:#9c6514;margin-top:9px;font-size:11px;line-height:1.45;display:block}.workflow-section.is-ready .workflow-status{color:var(--green-800)}.edit-info-button{margin-left:auto;font-weight:800}.next-action-card{background:var(--green-50);border:1px solid #b8ddca;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:13px 14px 0;padding:13px 14px;display:flex}.next-action-card div{gap:3px;display:grid}.next-action-card span{color:var(--green-700);font-size:9px;font-weight:800}.next-action-card strong{font-size:12px}.next-action-card time{color:#895415;background:var(--amber-soft);border-radius:7px;padding:5px 7px;font-size:10px;font-weight:750}.info-list{gap:10px;margin:0;display:grid}.info-list>div{grid-template-columns:64px 1fr;gap:8px;display:grid}.info-list dt{color:var(--muted);font-size:10px}.info-list dd{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:11px;line-height:1.45;display:flex}.info-list dd a{margin-left:5px;font-size:10px}.info-list .text-button{margin-left:auto}.metric-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.metric{border:1px solid var(--line);background:#fafcfb;border-radius:9px;grid-template-rows:auto auto;grid-template-columns:1fr auto;padding:10px;display:grid}.metric span{color:var(--muted);font-size:9px}.metric strong{grid-area:1/2/span 2;align-self:center;font-size:18px}.metric small{color:#9aa49f;margin-top:3px;font-size:8px}.unit-note{background:#edf2ef;border-radius:5px;padding:3px 6px}.feasibility-line{background:#f3f6f4;border-radius:8px;align-items:center;gap:7px;margin-top:9px;padding:9px 10px;font-size:10px;display:flex}.feasibility-line>span:first-child{color:var(--muted)}.feasibility-line>span:last-child{color:var(--green-700);margin-left:auto}.photo-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.photo-tile{aspect-ratio:1/1.08;background:#f5f8f6;border:1px dashed #b9c7c0;border-radius:9px;min-width:0;position:relative;overflow:hidden}.photo-tile img{object-fit:cover;width:100%;height:100%}.photo-preview-button{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;overflow:hidden}.photo-preview-button span{color:#fff;opacity:0;background:#0b231bb8;border-radius:6px;padding:4px 6px;font-size:8px;font-weight:800;transition:opacity .15s;position:absolute;top:6px;right:6px}.photo-preview-button:hover span,.photo-preview-button:focus-visible span{opacity:1}.photo-placeholder{color:#728079;text-align:center;align-content:center;place-items:center;gap:3px;height:100%;padding:6px;display:grid}.photo-placeholder>span{font-size:19px}.photo-placeholder b{font-size:9px}.photo-placeholder small{display:none}.photo-action{color:#fff;cursor:pointer;background:#143c2edb;border-radius:6px;place-items:center;min-height:24px;font-size:8px;font-weight:750;display:grid;position:absolute;inset:auto 4px 4px}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.timeline li{grid-template-columns:14px 1fr;gap:8px;padding-bottom:14px;display:grid;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";background:var(--line);width:1px;position:absolute;top:11px;bottom:-1px;left:5px}.timeline li:last-child:before{display:none}.timeline li>i{background:var(--green-700);border:3px solid #b9ddca;border-radius:50%;width:11px;height:11px;margin-top:2px}.timeline strong{font-size:11px}.timeline p{color:var(--muted);margin:3px 0;font-size:10px}.timeline small{color:#96a19b;font-size:9px}.empty-detail{color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:30px;display:grid}.empty-detail h2{color:var(--ink);margin:0;font-size:16px}.empty-detail p{max-width:250px;margin:0;font-size:11px;line-height:1.6}.empty-illustration{width:60px;height:60px;color:var(--green-700);background:var(--green-50);border-radius:50%;place-items:center;font-size:30px;display:grid}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1d1794;place-items:center;padding:24px;animation:.15s fade-in;display:grid;position:fixed;inset:0}.wizard{background:#fff;border:1px solid #ffffff8c;border-radius:18px;flex-direction:column;width:min(720px,100%);max-height:min(860px,100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 80px #071c1459}.wizard-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;min-height:76px;padding:16px 22px;display:flex}.wizard-head h2{letter-spacing:-.035em;margin:0;font-size:20px}.icon-button{width:42px;height:42px;color:var(--muted);background:#f0f4f2;border:0;border-radius:10px;font-size:25px}.wizard-steps{border-bottom:1px solid var(--line);background:#fafcfb;flex:none;grid-template-columns:repeat(4,1fr);margin:0;padding:13px 26px;list-style:none;display:grid}.wizard-steps li{color:#9ba59f;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex;position:relative}.wizard-steps li:before{content:"";background:#d7dfdb;height:1px;position:absolute;left:-38%;right:62%}.wizard-steps li:first-child:before{display:none}.wizard-steps i{z-index:1;background:#fff;border:1px solid #d1dad5;border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;font-style:normal;display:grid;position:relative}.wizard-steps .is-done,.wizard-steps .is-current{color:var(--green-800)}.wizard-steps .is-done:before,.wizard-steps .is-current:before{background:#65ab8b}.wizard-steps .is-done i{color:#fff;border-color:var(--green-700);background:var(--green-700)}.wizard-steps .is-current i{border:2px solid var(--green-700);box-shadow:0 0 0 3px var(--green-100)}.wizard-body{flex:1;min-height:0;padding:20px 26px 25px;overflow-y:auto}.form-step{gap:15px;display:grid}.step-intro{align-items:center;gap:12px;margin-bottom:2px;display:flex}.step-intro>span{color:#fff;background:var(--green-800);border-radius:12px;flex:none;place-items:center;width:39px;height:39px;font-size:17px;font-weight:850;display:grid}.step-intro h3{letter-spacing:-.03em;margin:0 0 3px;font-size:17px}.step-intro p{color:var(--muted);margin:0;font-size:11px}.form-step label{color:#4d5a54;gap:6px;font-size:11px;font-weight:750;display:grid}.form-step label>span em,.draft-photo em{color:var(--red);margin-left:4px;font-size:9px;font-style:normal}.form-step input,.form-step select{outline:0;height:45px;padding:0 12px}.form-step textarea{resize:vertical;min-height:80px;padding:11px 12px}.form-step input:focus,.form-step select:focus,.form-step textarea:focus{box-shadow:0 0 0 3px var(--green-100);border-color:#64a98a}.field-grid{gap:12px;display:grid}.field-grid.two{grid-template-columns:1fr 1fr}.address-row{grid-template-columns:1fr auto;gap:8px;display:grid}.address-row .secondary-button{min-height:45px}.success-note{color:var(--green-800);background:var(--green-50);border-radius:8px;margin:-4px 0 0;padding:9px 11px;font-size:11px;font-weight:700}.address-search-button{min-width:92px}.address-search-results{background:#f4faf7;border:1px solid #a7cdb9;border-radius:10px;gap:7px;padding:9px;display:grid}.address-search-results button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:8px;gap:4px;padding:10px 11px;display:grid}.address-search-results button:hover,.address-search-results button:focus-visible{border-color:var(--green-700);box-shadow:0 0 0 2px #25805e1f}.address-search-results strong{font-size:12px}.address-search-results small{color:var(--muted);font-size:10px}.address-confirmed{color:var(--green-800);background:var(--green-50);border:1px solid #acd8bf;border-radius:9px;gap:4px;margin:0;padding:9px 11px;font-size:11px;font-weight:800;display:grid}.address-confirmed small{color:#5d776b;font-size:10px;font-weight:600}.field-help{color:var(--muted);font-size:10px;font-weight:500;line-height:1.5}.registration-address-search{gap:10px;display:grid}.registration-address-search>.address-search-button{justify-self:start;min-height:44px}.address-search-panel{background:#f6fbf8;border:1px solid #9ecab3;border-radius:12px;gap:12px;padding:14px;display:grid;box-shadow:0 12px 30px #1444311a}.address-search-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.address-search-panel h4{color:var(--ink);margin:2px 0 0;font-size:14px}.address-search-controls{grid-template-columns:1fr auto;gap:8px;display:grid}.address-search-controls input{outline:0;min-width:0;height:45px;padding:0 12px}.address-search-controls input:focus{box-shadow:0 0 0 3px var(--green-100);border-color:#64a98a}.address-search-controls button{min-height:45px}.address-search-status,.address-search-message{margin:0}.registration-address-search .address-search-results{max-height:260px;overflow-y:auto}.registration-address-search .address-search-results article{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:11px;display:grid}.registration-address-search .address-search-results article>div{gap:4px;min-width:0;display:grid}.registration-address-search .address-search-results article button{min-height:38px}.address-selection-complete{color:var(--green-800);background:var(--green-50);border:1px solid #9dcfb4;border-radius:12px;grid-template-columns:minmax(0,1fr) 190px;gap:12px;padding:12px;display:grid}.address-selection-complete>div:first-child{align-content:center;gap:5px;min-width:0;display:grid}.address-selection-complete span,.address-selection-complete small{overflow-wrap:anywhere;color:#526d60;font-size:10px}.address-location-preview{background:linear-gradient(145deg,#e5f1e9,#f8fbf9);border:1px solid #a9cdbb;border-radius:9px;min-height:96px;position:relative;overflow:hidden}.address-preview-river{background:#b9dce7;height:15px;position:absolute;top:53%;left:-10%;right:-10%;transform:rotate(-7deg)}.address-preview-label{color:#587367;font-size:9px;font-weight:700;position:absolute;top:7px;left:8px}.address-preview-marker{color:#d6453d;text-shadow:0 2px 5px #5a141040;font-size:19px;line-height:1;position:absolute;transform:translate(-50%,-50%)}.measurement-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.unit-input{position:relative}.unit-input input{padding-right:45px;font-size:18px;font-weight:750}.unit-input b{color:var(--muted);font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.draft-photo-list{gap:10px;display:grid}.draft-photo{cursor:pointer;background:#f7faf8;border:1px dashed #aebdb5;border-radius:12px;grid-template-columns:90px 1fr;align-items:center;min-height:98px;padding:7px;position:relative;overflow:hidden;gap:14px!important;display:grid!important}.draft-photo:hover{border-color:var(--green-700);background:var(--green-50)}.draft-photo img,.draft-photo-icon{object-fit:cover;border-radius:8px;width:90px;height:82px}.draft-photo-icon{color:var(--green-700);background:#e5f1ea;place-items:center;font-size:31px;display:grid}.draft-photo>span:nth-child(2){gap:7px;min-width:0;padding-right:12px;display:grid}.draft-photo b{color:var(--ink);font-size:13px}.draft-photo small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.draft-photo input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.draft-photo.has-file{background:var(--green-50);border-style:solid;border-color:#79b99b}.review-card{border:1px solid var(--line);background:var(--line);border-radius:12px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.review-card>div{background:#fafcfb;gap:4px;min-width:0;padding:13px;display:grid}.review-card span{color:var(--green-700);font-size:9px;font-weight:800}.review-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.review-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.form-error{color:#913c37;background:#fff0ef;border:1px solid #edc0bd;border-radius:9px;margin:14px 0 0;padding:10px 12px;font-size:11px}.wizard-foot{border-top:1px solid var(--line);background:#fafcfb;flex:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;min-height:68px;padding:11px 22px;display:grid}.wizard-foot>button:first-child{justify-self:start}.wizard-foot>button:last-child{justify-self:end}.wizard-foot>span{color:var(--muted);font-size:10px}.wizard-foot .primary-button{color:#fff;border-color:var(--green-800);background:var(--green-800)}.toast{z-index:150;color:#fff;max-width:min(520px,100% - 32px);box-shadow:var(--shadow);opacity:0;pointer-events:none;background:#173c2f;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:700;transition:opacity .2s,transform .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%,16px)}.toast.is-visible{opacity:1;transform:translate(-50%)}.mobile-nav{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=1580px){.app-header{grid-template-columns:minmax(220px,1fr) minmax(240px,440px) max-content;gap:10px;padding-inline:18px}.header-actions{gap:6px}.app-header .primary-button,.app-header .secondary-button{padding-inline:11px}.role-chip{min-width:46px;padding-inline:7px}}@media (width<=1240px){.app-header{grid-template-columns:250px minmax(250px,1fr) auto;gap:16px;padding:0 18px}.workspace{grid-template-columns:310px minmax(420px,1fr) 350px}.workspace[data-detail-open=false]{grid-template-columns:310px minmax(420px,1fr) 0}.kpi-strip article{padding-inline:14px}.kpi-strip article>small{display:none}.detail-head h2{max-width:210px}}@media (width<=980px){.app-shell{min-height:560px;padding-bottom:68px}.app-header{flex-basis:64px;grid-template-columns:auto 1fr auto;gap:10px;height:64px;padding:0 13px}.brand-mark{width:36px;height:36px}.brand div{display:none}.global-search{min-width:0;height:42px}.header-actions .primary-button,.export-button span{display:none}.header-actions .export-button{width:42px;min-width:42px;padding:0}.header-more summary{justify-content:center;width:42px;padding:0}.header-more-label{display:none}.sample-banner{justify-content:flex-start;padding:8px 13px}.sample-banner p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sample-banner p strong{display:none}.kpi-strip{scrollbar-width:none;gap:0;min-height:76px;padding:9px 4px;display:flex;overflow-x:auto}.kpi-strip::-webkit-scrollbar{display:none}.kpi-strip article{min-width:125px;padding:2px 14px}.kpi-strip article>strong{font-size:23px}.workspace{min-height:0;display:block;position:relative;overflow:hidden}.workspace[data-detail-open=false] .detail-wrap{visibility:visible;pointer-events:auto}.list-panel,.map-panel,.detail-wrap{border:0;display:none;position:absolute;inset:0}.workspace[data-mobile-view=list] .list-panel,.workspace[data-mobile-view=map] .map-panel{display:flex}.workspace[data-mobile-view=detail] .detail-wrap{display:block}.panel-head,.map-toolbar{min-height:62px;padding:10px 14px}.panel-head h1,.map-toolbar h2{font-size:18px}.map-notices .visible-count{display:none}.key-notice{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.detail-toggle{display:none}.filters.is-admin{grid-template-columns:1fr 1fr;gap:8px}.facility-list{padding:0 10px 18px}.facility-card{min-height:112px;padding:14px}.facility-card>strong{font-size:15px}.detail-wrap{background:#fff;overflow:auto}.detail-panel{height:auto;padding-top:42px;overflow:visible}.mobile-back{z-index:4;border:0;border-bottom:1px solid var(--line);height:42px;color:var(--green-800);text-align:left;background:#fff;padding:0 14px;font-size:11px;font-weight:800;display:block;position:absolute;top:0;left:0;right:0}.detail-head h2{max-width:calc(100vw - 150px)}.detail-section{padding:17px 16px}.next-action-card{margin-inline:12px}.photo-placeholder small{font-size:8px;display:block}.mobile-nav{z-index:50;height:calc(68px + env(safe-area-inset-bottom));padding:7px 10px env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;grid-template-columns:1fr 1fr 1.25fr;align-items:start;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #19392c1a}.mobile-nav button{color:#748079;background:0 0;border:0;border-radius:10px;align-content:center;place-items:center;gap:2px;min-height:52px;font-size:10px;font-weight:750;display:grid}.mobile-nav button>span{font-size:21px}.mobile-nav button.is-active{color:var(--green-800);background:var(--green-50)}.mobile-nav .register-nav{color:#fff;background:var(--green-800);flex-direction:row;gap:5px;font-size:11px;display:flex}.mobile-nav .register-nav>span{font-size:19px}.toast{bottom:82px}}@media (width<=640px){.modal-backdrop{place-items:end stretch;padding:0}.wizard{border:0;border-radius:0;width:100%;height:100dvh;max-height:none}.wizard-head{min-height:66px;padding:12px 15px}.wizard-head h2{font-size:18px}.wizard-steps{padding:10px 12px}.wizard-steps li{gap:4px;font-size:9px}.wizard-steps li:before{left:-30%;right:70%}.wizard-body{padding:17px 16px 22px}.step-intro h3{font-size:16px}.field-grid.two,.measurement-grid,.address-row{grid-template-columns:1fr}.address-row .secondary-button{min-height:44px}.address-search-controls,.address-selection-complete{grid-template-columns:1fr}.registration-address-search>.address-search-button,.address-search-controls button{width:100%}.registration-address-search .address-search-results article{grid-template-columns:1fr}.registration-address-search .address-search-results article button{width:100%}.address-location-preview{min-height:110px}.draft-photo{grid-template-columns:78px 1fr;min-height:92px}.draft-photo img,.draft-photo-icon{width:78px;height:76px}.review-card{grid-template-columns:1fr}.wizard-foot{min-height:66px;padding:9px 14px}.wizard-foot button{min-height:46px}.map-legend{gap:7px;bottom:12px}.district{font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.basic-edit-dialog{width:min(780px,100%)}.edit-form{gap:14px}.edit-section-title{border-bottom:1px solid var(--line);color:var(--green-800);margin:4px 0 -2px;padding-bottom:9px;font-size:14px}.edit-foot>span{text-align:center}@media (width<=720px){.workflow-fields{grid-template-columns:1fr}.edit-foot>span{display:none}}.memo-card{align-items:flex-start}.memo-card div{width:100%}.memo-card strong{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.photo-lightbox{z-index:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05120dd1;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.photo-lightbox-dialog{background:#111814;border-radius:16px;grid-template-rows:minmax(0,1fr) auto;width:min(1000px,92vw);max-height:92dvh;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000008c}.photo-lightbox-dialog>img{object-fit:contain;background:#07100c;width:100%;max-height:calc(92dvh - 62px)}.photo-lightbox-close{z-index:2;color:#fff;cursor:pointer;background:#0009;border:1px solid #ffffff61;border-radius:50%;place-items:center;width:42px;height:42px;font-size:27px;display:grid;position:absolute;top:12px;right:12px}.photo-lightbox-caption{color:#fff;background:#122019;align-items:center;gap:12px;min-width:0;padding:14px 18px;display:flex}.photo-lightbox-caption strong{font-size:14px}.photo-lightbox-caption span{color:#b7c8bf;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}@media (width<=720px){.photo-preview-button span{opacity:1}.photo-lightbox{padding:12px}.photo-lightbox-dialog{border-radius:12px;width:100%;max-height:94dvh}.photo-lightbox-dialog>img{max-height:calc(94dvh - 58px)}.photo-lightbox-close{width:38px;height:38px;top:8px;right:8px}}.bulk-import-dialog{width:min(1040px,100vw - 30px)}.bulk-import-body{gap:12px;min-height:0;padding:18px 22px;display:grid;overflow:auto}.bulk-guide{border:1px solid var(--line);background:#f8fbf9;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.bulk-guide>div{align-items:center;gap:10px;min-width:0;display:flex}.bulk-guide b{color:#fff;background:var(--green-700);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.bulk-guide span{gap:3px;min-width:0;display:grid}.bulk-guide strong{font-size:12px}.bulk-guide small{color:var(--muted);font-size:10px}.bulk-file{color:var(--green-900);background:var(--green-50);border:1px solid #acd8bf;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.bulk-file strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.bulk-file span{color:#567365;font-size:10px}.bulk-table-wrap{border:1px solid var(--line);border-radius:11px;max-height:390px;overflow:auto}.bulk-table{border-collapse:collapse;background:#fff;width:100%;font-size:10px}.bulk-table th{z-index:1;color:#53635c;text-align:left;background:#f2f6f4;padding:9px 10px;position:sticky;top:0}.bulk-table td{vertical-align:top;border-top:1px solid #e6ece8;padding:9px 10px}.bulk-table td:first-child{width:42px}.bulk-table td:nth-child(4){width:80px}.bulk-table td:nth-child(5){width:170px}.bulk-table tr.bulk-ready td:last-child span{color:var(--green-700)}.bulk-table tr.bulk-saved{background:#eef9f3}.bulk-table tr.bulk-duplicate{background:#fff8e8}.bulk-table tr.bulk-error{background:#fff2f1}.bulk-table tr.bulk-saving{background:#eef6ff}@media (width<=720px){.bulk-import-body{padding:14px}.bulk-guide,.bulk-file{flex-direction:column;align-items:stretch}.bulk-guide button{width:100%}.bulk-file span{line-height:1.5}}.role-chip{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:52px;padding:6px 9px;font-size:10px;font-weight:850;display:inline-flex}.role-admin{color:#fff;background:#176f4f}.role-investigator{color:#17577f;background:#dceffc}.role-client{color:#785112;background:#fff0ca}.review-badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:4px 8px;font-size:9px;font-weight:850;display:inline-flex}.review-draft{color:#4f5d57;background:#edf1ef}.review-submitted{color:#17577f;background:#dceffc}.review-revision{color:#8a4b13;background:#fff0d7}.review-approved{color:#176345;background:#dff3e9}.review-section{background:#f7fbf9;border-color:#c7ded2}.review-comment{color:#5b4027;background:#fff8ee;border-left:3px solid #d47b28;border-radius:6px;gap:4px;margin:0 0 10px;padding:10px;font-size:11px;line-height:1.5;display:grid}.review-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.role-dialog{width:min(980px,100vw - 30px)}.operations-dialog{width:min(920px,100vw - 32px)}.operations-body{gap:16px;display:grid}.operations-summary{color:#185d43;background:#eef7f1;border-radius:16px;justify-content:space-between;gap:16px;padding:16px 18px;display:flex}.operations-summary.needs-attention{color:#825b0b;background:#fff8e8}.operations-summary span{font-size:13px}.operations-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.operations-grid article{background:#fff;border:1px solid #dfe8e2;border-radius:14px;gap:5px;padding:15px;display:grid}.operations-grid article>span,.operations-grid small{color:#708078;font-size:12px}.operations-grid strong{font-size:24px}.operations-section{background:#fff;border:1px solid #dfe8e2;border-radius:14px;padding:16px}.operations-section>p{color:#66756e;margin:8px 0 0}.operations-list{gap:8px;max-height:210px;margin-top:10px;display:grid;overflow:auto}.operations-list>div,.cleanup-task{background:#f6f9f7;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:10px 12px;display:grid}.operations-list span,.operations-list small{color:#708078;grid-column:1;font-size:12px}.cleanup-task>div{gap:3px;display:grid}.cleanup-task small{color:#708078}.operations-section.compact{justify-content:space-between;gap:18px;display:flex}@media (width<=760px){.operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-summary,.operations-section.compact{display:grid}}.role-body{gap:13px;min-height:0;padding:18px 22px;display:grid;overflow:auto}.role-add{border:1px solid var(--line);background:#f8fbf9;border-radius:12px;align-items:end;gap:10px;padding:14px;display:flex}.role-add>div{flex:1;grid-template-columns:.8fr 1.35fr .75fr .75fr .9fr;gap:9px;min-width:0;display:grid}.role-section-title{grid-column:1/-1;margin:0;font-size:12px}.role-add label{color:var(--muted);gap:5px;font-size:10px;font-weight:750;display:grid}.legacy-accounts{background:#f3faf6;border:1px solid #bcd7c9;border-radius:12px;gap:10px;padding:14px;display:grid}.legacy-accounts h3{margin:0 0 3px;font-size:13px}.legacy-accounts p{color:var(--muted);margin:0;font-size:10px}.legacy-list{gap:7px;display:grid}.legacy-list article{background:#fff;border-radius:9px;grid-template-columns:minmax(170px,1.2fr) 70px minmax(110px,.8fr) 100px 100px;align-items:center;gap:8px;padding:9px;display:grid}.legacy-list article>div{gap:2px;min-width:0;display:grid}.legacy-list strong,.legacy-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legacy-list small,.legacy-list span{color:var(--muted);font-size:9px}.legacy-list article.is-inactive{opacity:.58}.claim-summary{background:#f2f6f4;border-radius:9px;gap:3px;padding:10px;display:grid}.claim-summary small{color:var(--muted)}.role-help{flex-wrap:wrap;gap:8px;display:flex}.role-help span{color:#5b6862;background:#f2f6f4;border-radius:8px;padding:7px 9px;font-size:9px}.role-help b{color:var(--ink)}.role-list{gap:7px;display:grid}.role-list article{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(150px,1fr) 112px 90px 130px 88px 62px;align-items:center;gap:8px;padding:10px 11px;display:grid}.role-list article>div{gap:3px;min-width:0;display:grid}.role-list strong,.role-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-list strong{font-size:11px}.role-list small{color:var(--muted);font-size:9px}.role-list article.is-inactive{opacity:.55;background:#f4f4f4}@media (width<=720px){.role-body{padding:14px}.role-add{flex-direction:column;align-items:stretch}.role-add>div{grid-template-columns:1fr}.legacy-list article{grid-template-columns:1fr 1fr}.legacy-list article>div{grid-column:1/-1}.role-list article{grid-template-columns:1fr 1fr}.role-list article>div{grid-column:1/-1}.role-list article>.role-chip{display:none}}.role-preview{color:#ffffffd1;border:1px solid #ffffff47;border-radius:9px;align-items:center;gap:6px;padding:4px 5px 4px 9px;font-size:9px;font-weight:750;display:inline-flex}.role-preview select{color:#173e30;background:#fff;border:0;border-radius:6px;min-width:104px;height:31px;padding:0 25px 0 8px;font-size:10px;font-weight:800}@media (width<=980px){.role-preview span{display:none}.role-preview{padding-left:5px}}.section-actions{align-items:center;gap:12px;display:inline-flex}.danger-text-button{color:var(--red)}.danger-text-button:hover{color:#8f2f2a}.field-request-panel{border:1px solid var(--line);background:var(--paper);border-radius:14px;margin:8px 18px 10px;padding:14px 16px;box-shadow:0 4px 14px #183b2e14}.field-request-head,.field-request-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.field-request-head h2{margin:3px 0;font-size:20px}.field-request-head p,.field-request-list p{color:var(--muted);margin:0}.field-request-actions strong{white-space:nowrap;color:var(--green-800)}.field-request-form{background:var(--canvas);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding:16px;display:grid}.field-request-form label{gap:6px;font-size:13px;font-weight:700;display:grid}.field-request-form input,.field-request-form textarea{width:100%}.field-request-details{grid-column:1/-1}.field-request-form>button{grid-column:1/-1;justify-self:end}.field-request-list{gap:10px;margin-top:14px;display:grid}.field-request-list article{border:1px solid var(--line);border-radius:13px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 14px;display:grid}.field-request-list article strong{margin:4px 0 2px;display:block}.field-request-list small{color:var(--muted)}.field-request-row-actions{justify-items:end;gap:7px;display:grid}.field-request-row-actions .danger-text-button{font-size:11px}.request-status{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.request-status.pending{color:#915d00;background:#fff3d6}.request-status.converted{color:#176b3a;background:#e5f6eb}.field-request-panel.is-empty:not(.is-form-open){margin-block:6px;padding:8px 14px}.field-request-panel.is-empty:not(.is-form-open) .field-request-head>div:first-child{align-items:center;gap:9px;display:flex}.field-request-panel.is-empty:not(.is-form-open) .eyebrow,.field-request-panel.is-empty:not(.is-form-open) .field-request-head p{display:none}.field-request-panel.is-empty:not(.is-form-open) .field-request-head h2{margin:0;font-size:13px}.field-request-panel.is-empty:not(.is-form-open) .field-request-actions strong{font-size:12px}.field-request-panel.is-empty:not(.is-form-open) .field-request-actions .primary-button{min-height:34px;padding-inline:12px;font-size:12px}.client-kpi-strip{grid-template-columns:repeat(9,minmax(112px,1fr));overflow-x:auto}.client-kpi-strip article{padding-inline:13px}.client-progress-survey{color:#355f78;background:#e7f2f8}.client-progress-review{color:#7c5610;background:#fff1d1}.client-progress-approved{color:#176345;background:#dff3e9}.client-progress-consent{color:#5b4c96;background:#eeeafd}.client-progress-scheduled{color:#3d5fa8;background:#e7edfb}.client-progress-installed{color:#174f3b;background:#d8eee5}@media (width<=760px){.field-request-panel{margin:0 12px 12px;padding:15px}.field-request-panel.is-empty:not(.is-form-open){margin:6px 12px}.field-request-head,.field-request-actions{align-items:flex-start}.field-request-form{grid-template-columns:1fr}.field-request-details,.field-request-form>button{grid-column:auto}.field-request-list article{grid-template-columns:1fr}.field-request-row-actions{justify-items:stretch}}@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}
