*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:NanumSquare,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:NanumSquare,JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}@font-face{font-family:NanumSquare;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquare/NanumSquareL.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:NanumSquare;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquare/NanumSquareR.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NanumSquare;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquare/NanumSquareB.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:NanumSquare;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquare/NanumSquareEB.woff) format("woff");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:NanumSquare;src:url(https://hangeul.pstatic.net/hangeul_static/webfont/NanumSquare/NanumSquareEB.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}:root{--brand-main: #007aff;--brand-sub-1: #0e1947;--brand-sub-2: #00f6ff;--brand-sub-3: rgba(0,246,255,.1);--black: #000000;--white: #ffffff;--text: #111111;--text-sub-1: #555555;--text-sub-2: #767676;--text-disabled: #999999;--text-primary: var(--text);--text-secondary: var(--text-sub-2);--text-tertiary: rgba(80,96,112,.7);--surface-base: var(--bg-white);--surface-default: #ffffff;--surface-subtle: #f7f9fc;--surface-raised: rgba(255,255,255,.82);--surface-strong: rgba(255,255,255,.9);--surface-floating: rgba(255,255,255,.8);--surface-floating-hover: rgba(255,255,255,.9);--surface-hover: #f7fbff;--control-surface: #ffffff;--control-surface-hover: #f6f9fd;--control-surface-focus: #ffffff;--border-subtle: rgba(20,47,63,.1);--border-accent: rgba(0,122,255,.38);--control-border: rgba(20,47,63,.16);--control-border-hover: rgba(0,122,255,.42);--glass-highlight: rgba(255,255,255,.5);--glass-outline: rgba(20,47,63,.1);--shadow-floating: 0 14px 38px rgba(20,47,63,.12), 0 2px 8px rgba(20,47,63,.06);--shadow-soft: 0 5px 16px rgba(20,47,63,.07);--radius-control: 10px;--radius-card: 14px;--radius-panel: 18px;--radius-sheet: 20px;--radius-floating: 18px;--radius-pill: 999px;--blur-control: 14px;--blur-surface: 20px;--blur-sheet: 24px;--glass-saturation: 130%;--surface-glass-card: rgba(255,255,255,.76);--surface-glass-floating: var(--surface-floating);--surface-glass-sheet: rgba(250,252,255,.88);--border-glass: var(--glass-outline);--shadow-card: 0 5px 18px rgba(20,33,56,.07);--shadow-sheet: 0 20px 52px rgba(20,33,56,.16);--z-map: 0;--z-map-panel: 20;--z-map-toolbar: 42;--z-header: 50;--z-popover: 100;--z-modal: 900;--mobile-nav-height: 74px;--list-row-height: 48px;--motion-standard: .24s cubic-bezier(.2,.8,.2,1);--scene-toolbar-w: 338px;--panel-stats-w: 272px;--line-light: #f1f1f5;--line-middle: #e5e5ec;--line-dark: #111111;--bg-white: #ffffff;--bg-light: #f7f7fb;--bg: #f1f1f5;--bg-screen: #efeff5;--status-fail: #dc0000;--status-success: #04b014;--status-caution: #ffaa00;--surface: var(--bg-white);--surface2: var(--bg);--border: var(--line-middle);--accent: var(--brand-main);--accent-d: rgba(0,122,255,.1);--text-dim: var(--text-sub-2);--mono: "IBM Plex Mono", "NanumSquare", monospace;--sans: "NanumSquare", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--panel-w: min(360px, calc(100vw - 24px) );--header-h: 70px;--glass-panel: var(--surface-raised);--glass-panel-strong: var(--surface-strong);--glass-card: rgba(255,255,255,.48);--glass-card-hover: var(--surface-hover);--glass-border: var(--border-subtle);--glass-line: rgba(20,47,63,.1);--glass-shadow: var(--shadow-floating);--glass-shadow-soft: var(--shadow-soft)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:2px solid rgba(0,122,255,.58);outline-offset:2px}#root{position:relative;width:100vw;height:100vh;overflow:hidden}.ui-surface-default,.ui-surface-subtle,.ui-surface-plain,.ui-glass-card,.ui-glass-floating,.ui-glass-sheet{box-sizing:border-box}.ui-surface-default{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-default)}.ui-surface-subtle{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-subtle)}.ui-surface-plain{border:0;border-radius:0;background:transparent;box-shadow:none}.ui-surface-elevated{box-shadow:var(--shadow-card)}.ui-glass-card{border:1px solid var(--border-glass);border-radius:var(--radius-card);background:var(--surface-glass-card);box-shadow:var(--shadow-card);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation))}.ui-glass-floating{border:1px solid var(--border-glass);border-radius:var(--radius-floating);background:var(--surface-glass-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation))}.ui-glass-sheet{border:1px solid var(--border-glass);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation))}#map-wrap{position:absolute;left:0;top:0;bottom:0;right:0}#map{width:100%;height:100%}#app-header{position:absolute;top:0;left:0;right:0;z-index:var(--z-header)}#search-box{position:relative;width:100%}.search-row{display:flex;gap:6px}.search-results{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:21;max-height:280px;overflow-y:auto;background:var(--surface-glass-sheet);border:1px solid var(--glass-outline);border-radius:var(--radius-card);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation))}.search-results::-webkit-scrollbar{width:3px}.search-results::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.search-empty{padding:12px;font-size:12px;color:var(--text-dim);text-align:center}.search-item{padding:9px 13px;cursor:pointer;border-bottom:1px solid var(--glass-line);transition:background .1s}.search-item:last-child{border-bottom:none}.search-item:hover{background:var(--accent-d)}.search-item-title{font-size:12.5px;color:var(--text)}.search-item-addr{font-size:11px;color:var(--text-dim);margin-top:2px;font-family:var(--mono)}.search-history-label{padding:7px 13px 4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}#side-panel{position:absolute;top:calc(var(--header-h) + 12px);left:12px;bottom:12px;width:var(--panel-w);background:var(--surface-floating);border:1px solid var(--glass-outline);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));border-radius:var(--radius-floating);overflow:hidden;display:flex;flex-direction:column;z-index:var(--z-map-panel);transition:transform .25s ease}#side-panel.collapsed{transform:translate(calc(-100% - 24px))}#side-panel-tabs{display:flex;border-bottom:1px solid var(--glass-line);flex-shrink:0;background:#ffffff3d}#side-panel-tabs button{flex:1 1 0;padding:10px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:12px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:color .12s,border-color .12s,background .12s;white-space:nowrap}#side-panel-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);background:#007aff0f}#side-panel-tabs button:hover:not(.active){color:var(--text)}#panel-content,#joblist-content{display:flex;flex-direction:column;flex:1 1 0;min-height:0}.collapse-btn{width:28px;height:28px;background:#ffffff57;border:1px solid var(--glass-border);border-radius:5px;color:var(--text-dim);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .12s,color .12s;flex-shrink:0}.collapse-btn:hover{border-color:var(--accent);color:var(--accent)}#controls{padding:14px 16px;border-bottom:1px solid var(--glass-line);background:#fff3;display:flex;flex-direction:column;gap:12px}.ctrl-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase}.ctrl-row em{font-style:normal;font-family:var(--mono);font-size:14px;color:var(--accent)}input[type=range]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;writing-mode:horizontal-tb;background:var(--border);border-radius:1px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #0ea47273;cursor:pointer}#status-bar{padding:9px 16px;background:#ffffff4d;border-bottom:1px solid var(--glass-line);font-family:var(--mono);font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:8px;min-height:36px}.building-color-legend{display:grid;flex-shrink:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:10px 14px;border-bottom:1px solid var(--glass-line);background:#ffffff47}.building-color-legend span{display:flex;min-width:0;align-items:center;gap:6px;color:var(--text-dim);font-size:9.5px;font-weight:800;line-height:1.25}.building-color-legend i{width:9px;height:9px;flex:0 0 9px;border:1px solid rgba(20,47,63,.14);border-radius:3px;box-shadow:inset 0 1px #ffffff57}.building-color-legend .is-selectable{background:#2a7fff}.building-color-legend .is-redevelopable{background:#a259ff}.building-color-legend .is-context{background:#8a8a8a}.building-color-legend .is-expired{background:#ff3b30}.building-color-legend .is-selected{background:#4fffb0}.building-color-legend span:last-child{grid-column:1 / -1}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.status-dot.active{background:var(--accent);animation:blink 1s infinite}.status-dot.error{background:var(--status-fail)}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}#results-wrap{flex:1;overflow-y:auto;padding:10px}#results-wrap::-webkit-scrollbar{width:3px}#results-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}#empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px;text-align:center;gap:10px}#empty-state svg{opacity:.25}.building-card{background:var(--glass-card);border:1px solid var(--glass-border);border-radius:8px;padding:11px 12px;margin-bottom:7px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s}.building-card:hover{border-color:#007aff59;background:var(--glass-card-hover);box-shadow:var(--glass-shadow-soft);transform:translateY(-1px)}.building-card.selected{border-color:#007aff8c;background:#007aff1a;box-shadow:var(--glass-shadow-soft)}.building-card.has-heatmap{border-left:3px solid var(--status-caution);padding-left:9px}.building-card.has-heatmap .card-label:after{content:"분석완료";margin-left:6px;font-size:9.5px;font-weight:700;color:var(--status-caution);vertical-align:middle}.card-label{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-label:has(+.card-subtitle){margin-bottom:2px}.building-edit-btn{flex:none;padding:2px 7px;border-radius:6px;border:1px solid var(--glass-border);background:var(--glass-card);color:var(--text-dim);font-size:10.5px;font-weight:600;cursor:pointer;transition:border-color .12s,color .12s}.building-edit-btn:hover{border-color:#007aff66;color:var(--accent)}.card-subtitle{font-size:11px;color:var(--text-dim);margin-bottom:8px}.card-stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.stat{font-size:11px;display:flex;justify-content:space-between}.stat-label{color:var(--text-dim)}.stat-val{color:var(--text);font-family:var(--mono);font-size:10.5px}#actions{padding:12px 16px;border-top:1px solid var(--glass-line);background:#ffffff2e;display:flex;flex-direction:column;gap:7px}#result-count{font-family:var(--mono);font-size:11px;color:var(--text-dim);text-align:center;min-height:16px}.btn{width:100%;padding:9px;border:none;border-radius:5px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;cursor:pointer;transition:all .12s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.12)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}#hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:#ffffffd9;border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:7px 16px;border-radius:20px;font-size:12px;font-family:var(--mono);color:var(--text-dim);pointer-events:none;white-space:nowrap;z-index:5;transition:left .3s ease}.map-marquee-box{position:absolute;z-index:5;pointer-events:none;border:1.5px dashed #4fffb0;background:#4fffb01f}#map-view-toggle{position:absolute;right:18px;bottom:18px;z-index:24;display:flex;flex-direction:column;gap:7px;transition:right .32s cubic-bezier(.16,.92,.22,1)}#map-view-toggle.scene-panel-open{right:min(calc(var(--panel-w) + 24px),calc(100vw - 54px))}#map-view-toggle.catalog-panel-open{right:min(calc(var(--panel-w) + 396px),calc(100vw - 54px))}.maplibregl-ctrl-bottom-left{left:14px;bottom:14px}.maplibregl-ctrl-attrib{background:#ffffff8a!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:10px!important;box-shadow:0 4px 14px #142f3f1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.maplibregl-ctrl-attrib-button{opacity:.8}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:4px 7px!important;font-size:10px!important}.heatmap-floating-legend{position:absolute;left:50%;bottom:22px;transform:translate(-50%);z-index:40;display:flex;gap:18px;align-items:flex-start;pointer-events:none}.heatmap-legend-item{width:232px;display:flex;flex-direction:column;gap:7px;padding:10px 14px;background:var(--surface-floating);border:1px solid var(--glass-outline);border-radius:var(--radius-card);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));pointer-events:none}.heatmap-legend-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.heatmap-legend-kind{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid transparent;border-radius:999px;font-size:10.5px;font-weight:900;line-height:1;white-space:nowrap}.heatmap-legend-kind svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.heatmap-legend-item.roof .heatmap-legend-kind{color:#0e8c5e;background:#0ea4721f;border-color:#0ea47233}.heatmap-legend-item.wall .heatmap-legend-kind{color:var(--accent);background:#007aff1c;border-color:#007aff2e}.heatmap-legend-metric{color:var(--text-secondary);font-size:10px;font-weight:800;line-height:1;white-space:nowrap}.heatmap-legend-metric em{color:var(--accent);font-size:9px;font-style:normal}.heatmap-legend-bar{width:100%;height:12px;border-radius:999px;border:1px solid rgba(20,47,63,.18);box-shadow:inset 0 0 0 1px #ffffff3d}.heatmap-legend-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));color:#142f3fb8;font-size:9.5px;font-weight:700;line-height:1}.heatmap-legend-values span{text-align:center;white-space:nowrap}.heatmap-legend-values span:first-child{text-align:left}.heatmap-legend-values span:last-child{text-align:right}.heatmap-legend-values .is-min,.heatmap-legend-values .is-max{color:var(--text-primary);font-size:10.5px;font-weight:900}#panel-stats-overlay{position:absolute;top:0;right:calc(100% + 12px);z-index:41;display:flex;flex-direction:column;gap:10px;pointer-events:none}.panel-stats-card{width:var(--panel-stats-w);background:var(--surface-floating);border:1px solid var(--glass-outline);border-radius:var(--radius-card);padding:10px 14px;box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));pointer-events:none}.panel-stats-card-head{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(20,47,63,.1)}.panel-stats-card-icon{font-size:13px}.panel-stats-card-title{color:var(--accent);font-size:11.5px;font-weight:800}.panel-stats-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;white-space:nowrap}.panel-stats-row:last-child{margin-bottom:0}.panel-stats-row-label{min-width:0;color:var(--text-secondary);font-size:11px;white-space:nowrap}.panel-stats-row-value{flex:0 0 auto;color:var(--text-primary);font-size:11px;font-weight:800;white-space:nowrap}.panel-stats-card--table{width:auto;max-width:420px}.panel-stats-table{width:100%;border-collapse:collapse;font-size:10.5px}.panel-stats-table th,.panel-stats-table td{text-align:right;padding:3px 6px;white-space:nowrap}.panel-stats-table th:first-child,.panel-stats-table td:first-child{padding-left:0}.panel-stats-table thead th{color:var(--text-secondary);font-weight:700;border-bottom:1px solid rgba(20,47,63,.1);padding-bottom:5px}.panel-stats-table tbody td{color:var(--text-primary);font-weight:800;padding-top:5px}.panel-stats-card--table .panel-stats-row{margin-top:8px;padding-top:6px;border-top:1px solid rgba(20,47,63,.1)}#promo-main{position:fixed;top:calc(var(--header-h) + 12px);left:12px;bottom:12px;z-index:10;width:var(--panel-w);display:flex;align-items:center;justify-content:center;padding:16px 14px;pointer-events:auto}#promo-banner{position:relative;width:100%;height:100%;min-height:0;max-height:100%;display:flex;flex-direction:column;align-items:center;padding:42px 20px 34px;border:1px solid var(--glass-border);border-radius:var(--radius-floating);background:var(--surface-floating);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);overflow:hidden}#promo-banner:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:calc(var(--radius-floating) - 6px);border:1px solid var(--glass-highlight);pointer-events:none}.promo-logo{width:78%;height:auto;filter:drop-shadow(0 8px 18px rgba(20,47,63,.1))}.promo-headline{margin-top:42px;font-size:18px;font-weight:900;color:var(--text);text-align:center;line-height:1.4;width:auto;white-space:nowrap;letter-spacing:-.01em}.promo-headline em{font-style:normal;color:#fc5107}.promo-body{margin-top:30px;display:flex;align-items:center;gap:12px;width:100%;padding:16px 15px;border:1px solid rgba(255,255,255,.46);border-radius:18px;background:#ffffff57;box-shadow:var(--glass-shadow-soft)}.promo-mascot{width:82px;height:auto;flex-shrink:0;filter:drop-shadow(0 8px 14px rgba(20,47,63,.1))}.promo-body-text{display:flex;flex-direction:column;gap:7px;min-width:0}.promo-body p{font-size:13px;font-weight:800;color:var(--text-sub-1);line-height:1.48;word-break:keep-all}.promo-welcome{color:var(--text)}.promo-body p em{font-style:normal;color:#fc5107;font-weight:900}.promo-hanja{font-family:Apple SD Gothic Neo,Malgun Gothic,Noto Sans CJK KR,sans-serif;font-weight:700}.promo-body-sub{color:var(--text-dim);font-size:12.5px}.promo-footer{margin-top:auto;padding-top:30px;width:100%;display:flex;align-items:center;justify-content:center}.promo-footer-logo{width:180px;max-width:82%;height:auto;opacity:.92;filter:drop-shadow(0 6px 12px rgba(20,47,63,.1))}.header-help-btn{width:30px;height:30px;background:var(--brand-main);border:1px solid var(--brand-main);border-radius:50%;color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,box-shadow .12s;flex-shrink:0}.header-help-btn:hover{background:var(--brand-sub-1);box-shadow:0 0 0 3px var(--brand-sub-3)}.onboarding-popover.driver-popover{background:var(--surface-default);color:var(--text);border:1px solid var(--border-accent);border-radius:var(--radius-control);box-shadow:var(--shadow-floating)}.onboarding-popover .driver-popover-title{color:var(--brand-main);font-size:14px;font-weight:700}.onboarding-popover .driver-popover-description{color:var(--text);font-size:12.5px}.onboarding-popover .driver-popover-progress-text{color:var(--text-sub-2);font-size:11px}.onboarding-popover .driver-popover-footer-btn{background:var(--bg);color:var(--text);border:1px solid var(--line-middle);text-shadow:none;border-radius:6px}.onboarding-popover .driver-popover-next-btn,.onboarding-popover .driver-popover-close-btn.driver-popover-footer-btn:only-child{background:var(--brand-main);color:#fff;border-color:var(--brand-main)}.onboarding-popover .driver-popover-next-btn:hover{background:var(--brand-sub-1)}.onboarding-popover .driver-popover-prev-btn:hover,.onboarding-popover .driver-popover-footer-btn:not(.driver-popover-next-btn):hover{background:var(--brand-sub-3)}.onboarding-popover .driver-popover-close-btn{color:var(--text-sub-2)}.onboarding-popover .driver-popover-arrow-side-left.driver-popover-arrow{border-left-color:var(--brand-main)}.onboarding-popover .driver-popover-arrow-side-right.driver-popover-arrow{border-right-color:var(--brand-main)}.onboarding-popover .driver-popover-arrow-side-top.driver-popover-arrow{border-top-color:var(--brand-main)}.onboarding-popover .driver-popover-arrow-side-bottom.driver-popover-arrow{border-bottom-color:var(--brand-main)}#loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:85;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--surface-floating);border:1px solid var(--glass-outline);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));padding:18px 26px 16px;border-radius:var(--radius-floating);pointer-events:none;transition:left .3s ease}#toast{position:fixed;top:90px;left:50%;transform:translate(-50%);z-index:1100;background:#fff5f5c7;border:1px solid rgba(220,0,0,.28);color:var(--status-fail);padding:12px 20px;border-radius:14px;font-size:13px;font-weight:700;box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));animation:toast-in .2s ease}#toast.toast-success{background:#f0fff2c7;border-color:#04b01447;color:var(--status-success)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-gif{width:128px;height:128px;-o-object-fit:contain;object-fit:contain}#loading-overlay span{font-family:var(--mono);font-size:11px;color:var(--text-dim);white-space:nowrap}.loading-progress{display:flex;align-items:center;gap:8px;width:160px}.loading-progress-track{flex:1;height:4px;border-radius:2px;overflow:hidden;background:var(--border)}.loading-progress-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .2s ease}#scene-panel{position:absolute;top:calc(var(--header-h) + 12px);right:12px;bottom:12px;width:var(--panel-w);max-width:96vw;z-index:25;background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));display:flex;flex-direction:column;border:1px solid var(--glass-outline);border-radius:var(--radius-floating);overflow:hidden;transform-origin:right center;transform:translate(0) translateY(0) scale(1);opacity:1;filter:blur(0) saturate(1);transition:transform .3s cubic-bezier(.16,.92,.22,1),opacity .22s ease,filter .22s ease}@keyframes scene-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}#scene-panel.collapsed{transform:translate(calc(100% - 34px)) translateY(4px) scale(.14,.1);opacity:0;filter:blur(5px) saturate(.88);pointer-events:none;transition:transform .38s cubic-bezier(.24,.72,.22,1),opacity .3s ease .06s,filter .3s ease .04s}#scene-panel:not(.collapsed){transform:translate(0) translateY(0) scale(1);opacity:1;filter:blur(0) saturate(1);transition:transform .28s cubic-bezier(.16,.92,.22,1),opacity .22s ease,filter .22s ease}#scene-panel-minimize{position:absolute;top:10px;left:10px;z-index:27;width:28px;height:28px;border-radius:6px;background:#ffffffe6;border:1px solid var(--border);color:var(--text);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .12s,background .12s,border-color .12s;font-size:15px}#scene-panel-minimize:hover{color:var(--accent);border-color:#007aff73;background:#007aff1a}.scene-panel-actions{position:absolute;top:10px;left:48px;right:10px;z-index:27;display:flex;align-items:center;gap:6px}#scene-panel-open-report{height:28px;min-height:28px;padding:0 11px;border-radius:8px;border:1px solid rgba(0,122,255,.24);background:#007aff1a;color:var(--accent);font-family:var(--sans);font-size:11.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 5px 14px #007aff14;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}#scene-panel-open-report svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#scene-panel-open-report:hover{transform:translateY(-1px);background:#007aff29;border-color:#007aff66;box-shadow:0 7px 18px #007aff24}#scene-panel-share{width:28px;height:28px;min-height:28px;padding:0;border-radius:8px}.right-panel-restore{position:absolute;top:calc(var(--header-h) + 50%);right:-26px;transform:translateY(-50%);z-index:26;width:60px;height:clamp(70px,8vh,92px);border-radius:16px 0 0 16px;background:#ffffff8f;border:1px solid rgba(255,255,255,.72);color:transparent;box-shadow:0 6px 18px #142f3f1f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0;line-height:1;transition:right .22s cubic-bezier(.16,.92,.22,1),width .22s cubic-bezier(.16,.92,.22,1),color .12s,background .12s,border-color .12s,transform .12s}.right-panel-restore:before{content:"⚙";width:27px;height:27px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#007aff21;color:var(--accent);font-size:16px;font-weight:900}.right-panel-restore:hover{right:0;width:66px;background:#ffffffe6;border-color:#2674e88c;color:var(--accent);transform:translateY(-50%)}#panel-catalog{position:absolute;top:calc(var(--header-h) + 12px);right:12px;bottom:12px;width:360px;max-width:92vw;z-index:28;background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));display:flex;flex-direction:column;gap:8px;padding:44px 10px 10px;border:1px solid var(--glass-outline);border-radius:var(--radius-floating);overflow-y:auto;animation:scene-slide-in .3s ease}.catalog-type-row,.catalog-category-row{display:flex;gap:6px}.catalog-upcoming-button:disabled{position:relative;overflow:hidden;opacity:1}.catalog-upcoming-content{display:inline-flex;align-items:center;justify-content:center;gap:5px;opacity:.62;filter:grayscale(.35)}.catalog-upcoming-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.09em;line-height:1;text-shadow:-1px -1px 0 rgba(255,255,255,.92),1px -1px 0 rgba(255,255,255,.92),-1px 1px 0 rgba(255,255,255,.92),1px 1px 0 rgba(255,255,255,.92),0 2px 5px rgba(20,47,63,.18)}.catalog-search-row{position:relative;display:flex}.catalog-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:18px;height:18px;border:none;border-radius:50%;background:transparent;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.catalog-search-clear:hover{color:var(--status-fail)}.catalog-mfr-row{display:flex;align-items:center;gap:7px;min-width:0;padding:1px}.catalog-mfr-scroll{min-width:0;flex:1 1 auto;display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;padding:1px;overscroll-behavior-x:contain;scrollbar-width:none}.catalog-mfr-scroll::-webkit-scrollbar{display:none}.catalog-mfr-button{min-height:34px!important;max-width:142px;padding:5px 9px!important}.catalog-mfr-all{min-width:46px}.catalog-mfr-logo,.catalog-mfr-fallback{width:20px!important;height:20px!important;flex:0 0 20px;border-radius:6px!important}.catalog-mfr-logo{border-color:#142f3f1f!important;background:#ffffffb8!important}.catalog-mfr-fallback{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(20,47,63,.12);background:#ffffff75;color:currentColor;font-size:10px;font-weight:900}.catalog-mfr-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-apply-bar{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;height:calc(var(--list-row-height) - 12px)}.catalog-apply-bar>button{flex:0 0 auto}.catalog-table-wrap{flex:1 1 0;overflow:auto}.catalog-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px}.catalog-table th:nth-child(1),.catalog-table td:nth-child(1){width:34%}.catalog-table th:nth-child(2),.catalog-table td:nth-child(2){width:28%}.catalog-table th:nth-child(3),.catalog-table td:nth-child(3){width:18%}.catalog-table th:nth-child(4),.catalog-table td:nth-child(4){width:20%}.catalog-table th{position:sticky;top:0;background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:left;padding:8px;border-bottom:1px solid var(--glass-line);color:var(--text-dim);font-size:10px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-table td{padding:6px 8px;height:var(--list-row-height);box-sizing:border-box;border-bottom:1px solid var(--glass-line);color:var(--text)}.catalog-table tbody tr{height:var(--list-row-height);cursor:pointer}.catalog-table tbody tr:hover{background:#ffffff61}.catalog-table tbody tr.pending{cursor:default;background:color-mix(in srgb,var(--brand-main) 12%,transparent)}.catalog-table tbody tr.pending:hover{background:color-mix(in srgb,var(--brand-main) 12%,transparent)}.catalog-apply-cell{height:var(--list-row-height)!important;padding-block:6px!important;opacity:.92;overflow:hidden;white-space:normal}.catalog-apply-name{font-size:11px;color:var(--text-dim);margin-right:4px}.catalog-msg{padding:12px 4px;color:var(--text-dim);font-size:12px}.catalog-model-cell{display:flex;min-width:0;align-items:center}.catalog-model-detail-trigger{display:inline-flex;min-width:0;max-width:100%;align-items:center;gap:5px;padding:2px 3px;border:0;border-radius:5px;background:transparent;color:var(--text-primary);font:inherit;font-weight:800;text-align:left;cursor:pointer}.catalog-model-detail-trigger>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-model-detail-trigger:hover,.catalog-model-detail-trigger:focus-visible{background:#007aff14;color:var(--accent);outline:none}.catalog-model-detail-trigger:hover>span{text-decoration:underline;text-underline-offset:2px}.catalog-hover-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:6px 2px;border-bottom:1px solid rgba(20,47,63,.06);font-size:10.5px}.catalog-hover-row:last-child{border-bottom:none}.catalog-hover-label{color:var(--text-secondary);font-weight:700;white-space:nowrap}.catalog-hover-value{color:var(--text-primary);font-weight:800;text-align:right}.catalog-hover-note{margin-top:8px;padding:10px;border:1px solid var(--glass-line);border-radius:11px;background:#ffffff57}.catalog-hover-note-label{display:block;margin-bottom:5px;color:var(--text-secondary);font-size:10px;font-weight:800}.catalog-hover-note-body{margin:0;color:var(--text-primary);font-size:10.5px;font-weight:700;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.product-detail-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1280;display:grid;place-items:center;padding:clamp(18px,4vh,44px);background:#142f3f3d;backdrop-filter:blur(9px) saturate(.92);-webkit-backdrop-filter:blur(9px) saturate(.92);animation:report-backdrop-in .2s ease both}.product-detail-dialog{display:flex;flex-direction:column;width:min(700px,100%);max-height:min(760px,100%);overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--shadow-sheet);animation:product-detail-dialog-in .28s cubic-bezier(.16,.92,.22,1) both}.product-detail-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px 14px;border-bottom:1px solid var(--glass-line)}.product-detail-dialog-header>div{min-width:0}.product-detail-dialog-eyebrow{display:block;margin-bottom:3px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.product-detail-dialog-header h2{margin:0;overflow:hidden;color:var(--text-primary);font-size:17px;font-weight:900;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.product-detail-dialog-close{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border:1px solid var(--control-border);border-radius:10px;background:#ffffff7a;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer}.product-detail-dialog-close:hover{border-color:var(--control-border-hover);background:#ffffffc2;color:var(--text-primary)}.product-detail-dialog-content{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);min-height:0;overflow:hidden}.product-detail-dialog-product{display:flex;min-width:0;flex-direction:column;gap:14px;padding:18px;border-right:1px solid var(--glass-line)}.product-detail-dialog-manufacturer{display:flex;min-width:0;align-items:center;gap:10px}.product-detail-dialog-manufacturer>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.product-detail-dialog-manufacturer small{color:var(--text-dim);font-size:9px;font-weight:800}.product-detail-dialog-manufacturer strong{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.product-detail-dialog-logo{flex:0 0 auto;width:72px!important;height:44px!important;border-color:var(--control-border)!important;border-radius:10px!important;background:#ffffff9e!important}.product-detail-dialog-logo-fallback{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--control-border);border-radius:10px;background:#ffffff8a;color:var(--accent);font-size:16px;font-weight:900}.product-detail-dialog-image-wrap{display:grid;min-height:220px;flex:1 1 auto;place-items:center;overflow:hidden;border:1px solid var(--control-border);border-radius:15px;background:#ffffff73}.product-detail-dialog-image{width:100%!important;height:100%!important;border:0!important;border-radius:0!important;background:transparent!important}.product-detail-dialog-image-empty{padding:20px;color:var(--text-dim);font-size:10px;font-weight:700;text-align:center}.product-detail-dialog-fields{min-height:0;padding:14px 18px 18px;overflow-y:auto;scrollbar-width:thin}.product-detail-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--glass-line);background:#ffffff2e}@keyframes product-detail-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.product-detail-dialog-content{grid-template-columns:1fr;overflow-y:auto}.product-detail-dialog-product{border-right:0;border-bottom:1px solid var(--glass-line)}.product-detail-dialog-image-wrap{min-height:170px}.product-detail-dialog-fields{overflow:visible}}#bipv-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding:52px 14px 16px;background:transparent;display:flex;flex-direction:column;gap:12px}.bipv-section-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.bipv-product-section-head{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:2px 0}.bipv-product-section-head>div{min-width:0}.bipv-product-section-head p{margin:4px 0 0;overflow:hidden;color:var(--text-dim);font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bipv-product-section-head>button{flex:0 0 auto;white-space:nowrap}.bipv-cards-row{display:flex;flex-direction:row;gap:10px;flex:0 0 auto}.bipv-cards-row .bipv-card{flex:1 1 0;min-width:0;min-height:92px}.bipv-cards-row.is-desktop-stack{flex-direction:column}.bipv-cards-row.is-desktop-stack .bipv-card{flex:0 0 auto;width:100%}.bipv-card{border-radius:8px;overflow:hidden;border:1px solid var(--glass-border);background:var(--glass-card);box-shadow:var(--glass-shadow-soft);transition:background .34s cubic-bezier(.22,1,.36,1),border-color .34s cubic-bezier(.22,1,.36,1),box-shadow .34s cubic-bezier(.22,1,.36,1)}.bipv-card:has(.bipv-summary-wrap.is-detail-open){background:color-mix(in srgb,var(--glass-card) 78%,rgba(255,255,255,.58));box-shadow:var(--glass-shadow),0 12px 28px #1b315214}.bipv-card.wall{border-color:#4fc8ff4d}.bipv-card.roof{border-color:#0ea4724d;order:-1}.bipv-card-header{padding:5px 10px;background:#ffffff57;font-size:11px;font-weight:600}.bipv-card.wall .bipv-card-header{color:#4fc8ffe6}.bipv-card.roof .bipv-card-header{color:#0ea472e6}.bipv-card-body{padding:6px 10px 8px;display:flex;flex-direction:column;gap:5px;transition:padding .34s cubic-bezier(.22,1,.36,1)}.bipv-card-placeholder{padding:16px 10px;font-size:11px;color:var(--text-dim);text-align:center}.bipv-summary-wrap{display:block}.bipv-summary-compact-shell{opacity:1;transform:scale(1);visibility:visible;transition:opacity .18s ease,transform .28s cubic-bezier(.22,1,.36,1),visibility 0s linear 0s}.bipv-summary-wrap.is-detail-open .bipv-summary-compact-shell{opacity:0;transform:scale(.97);visibility:hidden;transition-delay:0s,0s,.2s}.bipv-summary{padding:4px 2px;display:flex;align-items:center;gap:8px;cursor:default}.bipv-summary-text{min-width:0;flex:1 1 auto}.bipv-summary-name{font-size:12px;font-weight:600;color:var(--text)}.bipv-summary-specs{font-size:10px;color:var(--text-dim);margin-top:2px}.bipv-summary-expand-btn{flex:0 0 auto;width:22px;height:22px;border-radius:6px;border:1px solid var(--glass-border);background:#ffffff57;color:var(--text-dim);font-size:9px;cursor:pointer;line-height:1}.bipv-summary-expand-btn:hover{background:#ffffff8c;color:var(--text)}.bipv-summary-detail{margin:0;padding:2px}.bipv-summary-detail-mfr{display:flex;align-items:center;gap:9px;margin-bottom:9px;min-width:0}.bipv-summary-detail-logo{flex:0 0 auto;width:56px!important;height:36px!important;border-color:var(--control-border)!important;border-radius:8px!important;background:#ffffff75!important}.bipv-summary-detail-logo-fallback{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:8px;border:1px solid var(--control-border);background:#ffffff75;color:var(--accent);font-size:14px;font-weight:800}.bipv-summary-detail-mfr-copy{display:flex;flex-direction:column;min-width:0;gap:1px}.bipv-summary-detail-mfr-label{font-size:9px;font-weight:700;letter-spacing:.04em;color:var(--text-dim)}.bipv-summary-detail-mfr-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;color:var(--text)}.bipv-summary-detail-image{width:100%!important;margin-bottom:10px;border-color:var(--control-border)!important;border-radius:10px!important;background:#ffffff75!important}.bipv-summary-detail-fields{display:flex;flex-direction:column}.bipv-inverter-orientation-btn{margin-left:4px;color:var(--accent)}.bipv-orientation-inspector{position:fixed;top:calc(var(--header-h) + 12px);bottom:12px;left:12px;z-index:calc(var(--z-map-panel) + 1);display:flex;width:var(--panel-w);min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-floating);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));animation:bipv-orientation-inspector-in .24s cubic-bezier(.22,1,.36,1) both}@keyframes bipv-orientation-inspector-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.bipv-orientation-inspector-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 13px;border-bottom:1px solid var(--glass-line);background:#ffffff2e}.bipv-orientation-inspector-header>div{min-width:0}.bipv-orientation-inspector-header>div>span{display:block;margin-bottom:3px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.06em}.bipv-orientation-inspector-header h2{margin:0;color:var(--text-primary);font-size:20px;font-weight:900;line-height:1.3}.bipv-orientation-inspector-header p{margin:4px 0 0;color:var(--text-dim);font-size:10px;font-weight:700}.bipv-orientation-inverter-summary{display:flex;flex:0 0 auto;align-items:center;gap:10px;margin:12px 14px 0;padding:9px 10px;border:1px solid rgba(0,122,255,.18);border-radius:13px;background:#e9f5ff8f}.bipv-orientation-inverter-summary>div{display:flex;min-width:0;flex-direction:column;gap:3px}.bipv-orientation-inverter-summary strong{overflow:hidden;color:var(--text-primary);font-size:11.5px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.bipv-orientation-inverter-summary span{color:var(--text-dim);font-size:9px;font-weight:700}.bipv-orientation-condition-section{flex:0 0 auto;padding:12px 14px 0}.bipv-orientation-condition-section h3,.bipv-orientation-results-heading h3{margin:0;color:var(--text-primary);font-size:11px;font-weight:900}.bipv-orientation-filters{display:flex;align-items:center;gap:7px;margin-top:8px}.bipv-orientation-filters>button{min-width:0;flex:1 1 0;white-space:nowrap}.bipv-orientation-goal{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding:7px 9px;border:1px solid var(--control-border);border-radius:10px;background:#ffffff47;font-size:10px;font-weight:800;color:var(--text-secondary)}.bipv-orientation-goal-control{display:flex;align-items:center;gap:5px}.bipv-orientation-goal input{width:104px;text-align:right}.bipv-orientation-goal em{font-style:normal;color:var(--text-dim)}.bipv-orientation-results{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;padding:13px 14px 14px}.bipv-orientation-results-heading{flex:0 0 auto;margin-bottom:8px}.bipv-orientation-results-heading p{margin:3px 0 0;color:var(--text-dim);font-size:9px;font-weight:700}.bipv-orientation-card-list{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:8px;overflow-y:auto;padding-right:2px;scrollbar-width:thin}.bipv-orientation-card{flex:0 0 auto;padding:9px 10px 10px;border:1px solid var(--control-border);border-radius:13px;background:#ffffff70;box-shadow:var(--glass-shadow-soft)}.bipv-orientation-card:first-child{border-color:#007aff7a;background:#e8f5ff94}.bipv-orientation-card>header{display:flex;min-width:0;align-items:center;gap:5px}.bipv-orientation-card>header>strong{margin-right:2px;color:var(--text-primary);font-size:12px;font-weight:900}.bipv-orientation-card:first-child>header>strong{color:var(--accent)}.bipv-orientation-count{padding:3px 7px;border-radius:999px;font-size:8.5px;font-weight:900;white-space:nowrap}.bipv-orientation-count.panel{background:#007aff14;color:#315d92}.bipv-orientation-count.inverter{background:#5a52b214;color:#59528d}.bipv-orientation-warning{margin-left:auto;color:#b96a00;font-size:11px}.bipv-orientation-card-metrics{display:grid;grid-template-columns:.9fr 1fr 1fr 1.45fr;gap:5px;margin-top:8px}.bipv-orientation-card-metrics>div{min-width:0;padding:6px 4px;border-right:1px solid var(--glass-line)}.bipv-orientation-card-metrics>div:nth-child(3){border-right:0}.bipv-profitability-section{flex:0 0 auto;margin:0 14px 12px;padding:10px 12px;border:1px solid rgba(14,164,114,.28);border-radius:13px;background:#e2f8f08c}.bipv-profitability-section h3{margin:0;color:var(--text-primary);font-size:11px;font-weight:900}.bipv-profitability-caption{margin:3px 0 0;color:var(--text-dim);font-size:9px;font-weight:700}.bipv-profitability-payback{display:flex;align-items:baseline;justify-content:space-between;margin-top:8px}.bipv-profitability-payback span{color:var(--text-secondary);font-size:10.5px;font-weight:800}.bipv-profitability-payback strong{color:#0a8a5c;font-size:16px;font-weight:900}.bipv-orientation-card-metrics>div>span{display:block;overflow:hidden;color:var(--text-dim);font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bipv-orientation-card-metrics>div>strong{display:block;margin-top:5px;color:var(--text-primary);font-size:10.5px;font-weight:900;white-space:nowrap}.bipv-orientation-card-metrics small{margin-left:2px;color:var(--text-dim);font-size:6.5px;font-weight:700}.bipv-orientation-card-metrics .annual{padding:7px 8px;border:0;border-radius:9px;background:#007aff14}.bipv-orientation-card-metrics .annual>span{color:#567a9f}.bipv-orientation-card-metrics .annual>strong{color:var(--accent);font-size:11.5px}.bipv-row{display:flex;flex-direction:column;gap:8px}.bipv-row.coeff .bipv-field{flex:1 1 55px}.bipv-field{display:flex;flex:1 1 auto;flex-direction:column;gap:2px}.bipv-field.narrow{flex:0 1 46px}.job-name-row .job-name-field{flex:1 1 0;min-width:0}.job-name-row{width:100%;gap:12px}.job-name-row>.job-name-field{flex:none;align-self:flex-start;width:100%}.job-name-row>.job-name-field>.bipv-label{color:var(--text-secondary);font-size:11px;font-weight:700}.bipv-name-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;min-width:0}.bipv-name-control input{display:block;width:100%;min-width:0;height:36px;min-height:36px;padding:6px 10px;font-size:14px}.analysis-name-input{border-color:var(--control-border);background:var(--surface-strong);color:var(--text-primary);font-weight:700}.analysis-name-input::-moz-placeholder{color:var(--text-tertiary);font-weight:600}.analysis-name-input::placeholder{color:var(--text-tertiary);font-weight:600}#joblist-body{flex:1 1 0;min-height:0;overflow:hidden;padding:10px 8px 8px;display:flex;flex-direction:column}.joblist-empty{padding:20px 10px;color:var(--text-dim);font-size:12px;text-align:center}.joblist-item{box-sizing:border-box;height:72px;min-height:72px;max-height:72px;overflow:hidden;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-card);box-shadow:var(--glass-shadow-soft);padding:8px 10px;margin-bottom:6px;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s}.joblist-item.demo{height:auto;min-height:72px;max-height:none;border-style:dashed;border-color:var(--brand-main);background:var(--brand-sub-3)}.joblist-item.clickable{cursor:pointer}.joblist-item.pending,.joblist-item.error{opacity:.68}.joblist-item.clickable:hover{border-color:#007aff59;background:var(--glass-card-hover);transform:translateY(-1px)}.joblist-item.loading{opacity:.76;pointer-events:none}.joblist-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:11px}.joblist-item-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--text)}.joblist-item-status{display:flex;align-items:center;gap:5px;flex-shrink:0}.joblist-item-detail-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.joblist-more-button{width:25px;height:25px;padding:0;border:0;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.joblist-more-button svg{width:16px;height:16px}.joblist-more-button:hover,.joblist-more-button[data-popup-open]{background:#007aff17;color:var(--accent);transform:translateY(-1px)}.joblist-more-button:focus-visible{outline:2px solid rgba(0,122,255,.24);outline-offset:1px}.joblist-action-positioner{z-index:140;outline:none}.joblist-action-menu{min-width:154px;padding:5px;border:1px solid var(--glass-outline);border-radius:var(--radius-control);background:var(--surface-floating);color:var(--text-primary);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));transform-origin:var(--transform-origin);transition:transform .15s cubic-bezier(.2,.8,.2,1),opacity .15s ease}.joblist-action-menu[data-starting-style],.joblist-action-menu[data-ending-style]{opacity:0;transform:scale(.96)}.joblist-action-item{min-height:34px;padding:7px 9px;border-radius:8px;display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:11px;font-weight:700;cursor:pointer;outline:none}.joblist-action-item svg{width:16px;height:16px;flex:0 0 auto}.joblist-action-item[data-highlighted]{background:#007aff17;color:var(--accent)}.joblist-action-item.danger{color:var(--status-fail)}.joblist-action-item.danger[data-highlighted]{background:#dc000017;color:var(--status-fail)}.joblist-action-item[data-disabled]{opacity:.4;cursor:default}.joblist-name-input{flex:1 1 0;min-width:0;padding:3px 6px;border-radius:5px;background:#ffffff7a;border:1px solid var(--glass-border);color:var(--text);font-size:11px;font-family:var(--mono)}.joblist-name-input:focus{outline:none;border-color:var(--accent)}.joblist-save-name{flex:0 0 auto;padding:2px 8px;border-radius:5px;background:#ffffff61;border:1px solid rgba(0,122,255,.25);color:var(--accent);font-size:10px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s}.joblist-save-name:hover:not(:disabled){border-color:var(--accent);background:#0ea4722e}.joblist-save-name:disabled{opacity:.4;cursor:not-allowed}.joblist-item-meta{min-width:0;max-height:30px;margin-top:4px;overflow:hidden;color:var(--text-dim);font-family:var(--mono);font-size:10.5px;line-height:1.35}.joblist-item-error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joblist-card-loading{margin-top:8px;color:var(--accent);font-size:10.5px;font-weight:800}.joblist-item-buttons{display:flex;gap:6px;margin-top:8px}.joblist-page-list{flex:1 1 auto;min-height:0}.joblist-pagination{flex:0 0 40px;display:flex;min-height:40px;align-items:center;justify-content:center;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding:8px 4px 2px;color:var(--text-dim);font-size:11px;font-weight:800;scrollbar-width:none}.joblist-pagination::-webkit-scrollbar{display:none}.scene-toolbar-shell{position:absolute;top:calc(var(--header-h) + 22px);right:18px;z-index:var(--z-map-toolbar);width:var(--scene-toolbar-w);min-height:46px;pointer-events:none;perspective:900px;transition:width .34s cubic-bezier(.18,1.08,.22,1),right .32s cubic-bezier(.16,.92,.22,1)}.scene-toolbar-shell.folded{width:46px}.scene-toolbar-shell.open{width:var(--scene-toolbar-w)}.scene-toolbar-shell.open.scene-panel-open{right:min(calc(var(--panel-w) + 24px),calc(100vw - var(--scene-toolbar-w) - var(--panel-stats-w) - 30px))}.scene-toolbar-shell.open.catalog-panel-open{right:min(calc(var(--panel-w) + 396px),calc(100vw - var(--scene-toolbar-w) - var(--panel-stats-w) - 30px))}.scene-toolbar-shell.folded.scene-panel-open{right:min(calc(var(--panel-w) + 24px),calc(100vw - var(--panel-stats-w) - 76px))}.scene-toolbar-shell.folded.catalog-panel-open{right:min(calc(var(--panel-w) + 396px),calc(100vw - var(--panel-stats-w) - 76px))}.scene-toolbar-toggle,.scene-toolbar-panel{position:absolute;top:0;right:0;transform-origin:top right;will-change:transform,opacity,filter}.scene-toolbar-toggle{width:46px;height:46px;border-radius:16px;border:1px solid var(--border-subtle);background:var(--surface-raised);color:var(--accent);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;font-size:19px;cursor:pointer;transition:opacity .22s cubic-bezier(.2,.8,.2,1),transform .34s cubic-bezier(.18,1.18,.22,1),filter .22s ease,background .14s,border-color .14s,box-shadow .14s}.scene-toolbar-toggle:hover{transform:translateY(-1px) scale(1.04);background:var(--surface-hover);border-color:var(--border-accent);box-shadow:var(--shadow-floating)}.scene-toolbar-panel{width:var(--scene-toolbar-w);padding:14px;border-radius:var(--radius-floating);border:1px solid var(--glass-outline);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));color:var(--text);transition:opacity .24s cubic-bezier(.2,.8,.2,1),transform .38s cubic-bezier(.18,1.08,.22,1),filter .24s ease,box-shadow .24s ease}.scene-toolbar-shell.folded .scene-toolbar-toggle{opacity:1;transform:translateZ(0) scale(1);pointer-events:auto;filter:blur(0)}.scene-toolbar-shell.open .scene-toolbar-toggle{opacity:0;transform:translate3d(10px,-8px,0) scale(.62) rotate(12deg);pointer-events:none;filter:blur(3px)}.scene-toolbar-shell.folded .scene-toolbar-panel{opacity:0;transform:translate3d(16px,-12px,0) scale(.78) rotateX(-7deg);pointer-events:none;filter:blur(6px) saturate(.92);box-shadow:0 6px 18px #142f3f14}.scene-toolbar-shell.open .scene-toolbar-panel{opacity:1;transform:translateZ(0) scale(1) rotateX(0);pointer-events:auto;filter:blur(0) saturate(1)}.scene-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.scene-toolbar-title{color:var(--accent);font-size:13px;font-weight:900;letter-spacing:.02em}.scene-toolbar-close{width:26px;height:26px;border-radius:9px;border:1px solid var(--glass-border);background:#ffffff61;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.scene-toolbar-close:hover{color:var(--accent);border-color:#007aff5c;background:#ffffff94}.scene-toolbar-subtitle{margin:10px 0 7px;color:#2d4471e0;font-size:11px;font-weight:900}.scene-toolbar-row{display:flex;align-items:center;gap:7px}.scene-toolbar-row.wrap{flex-wrap:nowrap}.scene-toolbar-btn{flex:0 0 auto;min-height:34px;padding:7px 11px;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff6b;color:var(--text-dim);font-size:12px;font-weight:800;cursor:pointer;transition:transform .12s,border-color .12s,background .12s,color .12s,box-shadow .12s}.scene-toolbar-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#007aff5c;color:var(--accent);background:#ffffff9e}.scene-toolbar-btn.active{background:#007aff29;border-color:#007aff75;color:var(--accent);box-shadow:0 8px 18px #007aff1f}.scene-toolbar-btn:disabled{opacity:.42;cursor:not-allowed}.scene-toolbar-analysis{margin-top:10px;padding-top:10px;border-top:1px solid var(--glass-line)}.scene-toolbar-analysis .scene-toolbar-subtitle{margin-top:0}.scene-toolbar-field{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-dim);font-size:11px;font-weight:900}.scene-toolbar-field+.scene-toolbar-field{margin-top:8px}.scene-toolbar-field+button{margin-top:10px}.scene-toolbar-balcony-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scene-toolbar-balcony-grid label{display:flex;flex-direction:column;gap:4px;min-width:0}.scene-toolbar-balcony-grid span{color:var(--text-dim);font-size:10px;font-weight:900;white-space:nowrap}.scene-toolbar-balcony-grid input{width:100%;min-height:34px;padding:6px;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff6b;color:var(--text);font-size:13px;font-weight:800;font-family:var(--mono);outline:none;text-align:center}.scene-toolbar-balcony-grid input:focus{border-color:#007aff85;background:#ffffffad}.scene-toolbar-row.balcony-pick-row{margin-top:10px}.scene-toolbar-row.balcony-pick-row+button{margin-top:10px}.scene-toolbar-hint{margin:8px 0 0;color:var(--text-dim);font-size:10.5px;line-height:1.5}.scene-toolbar-error{margin:8px 0 0;color:var(--status-fail, #d33);font-size:10.5px;line-height:1.5;font-weight:700}.scene-toolbar-row.balcony-calc-row{margin-top:8px;gap:8px}.scene-toolbar-row.balcony-calc-row>button{flex:1 1 0}.scene-toolbar-input-wrap{display:flex;align-items:center;gap:6px;flex:0 0 136px}.scene-toolbar-input-wrap input{width:100%;min-height:34px;padding:6px 8px;border-radius:10px;border:1px solid var(--glass-border);background:#ffffff6b;color:var(--text);font-size:13px;font-weight:800;font-family:var(--mono);outline:none}.scene-toolbar-input-wrap input:focus{border-color:#007aff85;background:#ffffffad}.scene-toolbar-input-wrap em{font-style:normal;color:var(--text-dim);font-size:11px;font-weight:900}.manage-page{width:100%;height:100%;overflow:hidden;color:var(--text);background:var(--bg-screen)}.manage-shell{width:100%;height:100%}.manage-kicker{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.manage-kicker.danger{color:var(--status-fail)}.manage-state-card p{margin:4px 0 0;color:var(--text-dim);font-size:13px;font-weight:700}.manage-content-card{width:100%;max-width:1280px;min-height:100%;margin:0 auto}.manage-content-card table{max-width:none!important}.manage-content-card input,.manage-content-card select,.manage-content-card button{font-family:var(--sans)}.manage-table-image{border-color:var(--control-border)!important;background:#ffffff94!important}.manage-table-actions{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-height:48px;white-space:nowrap}.manage-table-actions.compact-grid{display:grid;width:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;white-space:normal}.manage-table-actions.compact-grid>button{width:100%;min-width:0;padding-inline:6px}.manage-state-card{width:min(520px,calc(100% - 32px));margin:auto;padding:28px;border-radius:24px;text-align:center;border:1px solid var(--border-subtle);background:var(--surface-default);box-shadow:var(--shadow-card)}.manage-body{width:100%;height:100%;display:flex;min-width:0}.manage-sidebar{position:relative;z-index:12;flex:0 0 0;width:0;height:100%;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:24px 0;border-right:1px solid var(--border-subtle);background:var(--surface-default);opacity:0;transform:translate(-16px);transition:width .24s ease,flex-basis .24s ease,padding .24s ease,opacity .18s ease,transform .24s ease}.manage-sidebar.open{flex-basis:244px;width:244px;padding:24px 18px;opacity:1;transform:translate(0)}.app-side-nav-section{display:flex;flex-direction:column;gap:5px}.app-side-nav-label{padding:0 13px 3px;color:var(--text-dim);font-size:10px;font-weight:900;white-space:nowrap}.app-side-nav-item{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 13px;border-radius:12px;color:var(--text-dim);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;transition:color .14s,background .14s}.app-side-nav-item:hover:not(.disabled){color:var(--accent);background:var(--surface-subtle)}.app-side-nav-item.active{color:var(--accent);background:#007aff1f}.app-side-nav-item.disabled{cursor:not-allowed;opacity:.62}.app-side-nav-icon{flex:none;min-width:14px;text-align:center}.app-side-nav-icon svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-side-nav-backdrop,.manage-sidebar-backdrop,.app-mobile-bottom-nav,.manage-mobile-subnav{display:none}.manage-body-content{flex:1 1 auto;min-width:0;height:100%;overflow:auto;padding:28px 30px 40px}.manage-body-content::-webkit-scrollbar{width:8px;height:8px}.manage-body-content::-webkit-scrollbar-thumb{background:#142f3f29;border-radius:999px}.manage-site-header{height:76px;padding:0 24px;background:var(--surface-default)}.manage-header-title{display:flex;flex-direction:column;gap:1px;color:var(--text)}.manage-header-title strong{font-size:16px;font-weight:900}.manage-header-title small{color:var(--text-dim);font-size:10px;font-weight:700}.manage-header-account{display:inline-flex;align-items:center;min-height:32px;padding:6px 11px;border:1px solid var(--control-border);border-radius:9px;color:var(--text-dim);background:var(--control-surface);font-size:11px;font-weight:800}.admin-page-stack{display:flex;min-width:0;flex-direction:column}.admin-page-header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-page-header h1{margin:0;color:var(--text);font-size:25px;font-weight:900;letter-spacing:-.035em}.admin-page-header p{margin:4px 0 0;color:var(--text-dim);font-size:12px;font-weight:700}.admin-page-actions,.admin-panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.admin-kpi-grid.admin-kpi-grid-single{grid-template-columns:minmax(0,273px)}.admin-usage-kpi-grid{margin-bottom:7px}.admin-usage-kpi-note{margin:0 2px 18px;color:var(--text-dim);font-size:11px;font-weight:700}.admin-kpi-card{min-width:0;min-height:118px;padding:17px 18px;border-radius:var(--radius-card)}.admin-kpi-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-dim);font-size:12px;font-weight:900}.admin-kpi-label i{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--accent)}.admin-kpi-card>strong{display:block;margin-top:11px;color:var(--text);font-size:25px;line-height:1.1;font-weight:900}.admin-kpi-card>small{display:block;margin-top:10px;color:var(--accent);font-size:10px;font-weight:800}.admin-kpi-card.tone-green .admin-kpi-label i{background:var(--status-success)}.admin-kpi-card.tone-green>small{color:var(--status-success)}.admin-kpi-card.tone-orange .admin-kpi-label i{background:var(--status-caution)}.admin-kpi-card.tone-orange>small{color:var(--status-caution)}.admin-kpi-card.tone-red .admin-kpi-label i{background:var(--status-fail)}.admin-kpi-card.tone-red>small{color:var(--status-fail)}.admin-kpi-card.tone-neutral .admin-kpi-label i{background:var(--text-dim)}.admin-kpi-card.tone-neutral>small{color:var(--text-dim)}.admin-panel{min-width:0;padding:18px;border-radius:var(--radius-panel);margin-bottom:18px}.admin-panel-header{min-height:48px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.admin-panel-header h2{margin:0;color:var(--text);font-size:15px;font-weight:900}.admin-panel-header p{margin:3px 0 0;color:var(--text-dim);font-size:10px;font-weight:700}.admin-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:74px;margin-bottom:18px;padding:15px 18px;border-radius:var(--radius-panel)}.admin-filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-field{display:flex;flex-direction:column;gap:5px;min-width:0}.admin-field>label{color:var(--text-dim);font-size:10px;font-weight:900}.admin-filter-summary{color:var(--text-dim);font-size:11px;font-weight:800;white-space:nowrap}.admin-user-filter{justify-content:flex-start}.admin-user-search{width:min(360px,42vw);flex:0 1 360px}.admin-user-filter-actions{flex-wrap:nowrap}.admin-user-filter-actions select{width:128px}.admin-user-filter-actions>button{min-width:68px}.admin-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.admin-form-grid .wide{grid-column:1 / -1}.admin-field-label{display:block;margin-bottom:3px;color:var(--text-dim);font-size:11px}.admin-inline-message{margin:6px 0 0;color:var(--text-dim);font-size:14px}.admin-inline-message.spaced{margin-top:8px}.admin-form-panel input[type=file]{width:100%;color:var(--text-dim);font-size:11px}.admin-form-wide{grid-column:1 / -1}.admin-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:8px;min-height:34px}.admin-inline-error{color:var(--status-fail);font-size:12px}.admin-table-scroll{width:100%;min-width:0;min-height:calc(38px + var(--admin-min-rows, 0) * 54px);overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}.admin-table th{height:38px;padding:9px 12px;color:var(--text-dim);background:var(--surface-subtle);border-bottom:1px solid var(--border-subtle);text-align:left;font-size:10px;font-weight:900}.admin-table td{height:54px;padding:10px 12px;color:var(--text);border-bottom:1px solid var(--border-subtle);vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.admin-table tbody tr:hover{background:#007aff09}.admin-table .cell-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-manufacturer-table .admin-table{min-width:810px}.admin-panel-catalog-table .admin-table{min-width:874px}.admin-manufacturer-table .admin-table td:last-child,.admin-panel-catalog-table .admin-table td:last-child{overflow:visible}.admin-manufacturer-table .admin-table td:not(:last-child),.admin-panel-catalog-table .admin-table td:not(:last-child){white-space:nowrap}.admin-pagination{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:0}.admin-pagination-summary{color:var(--text-dim);font-size:10px;font-weight:700}.admin-pagination-pages{display:flex;align-items:center;gap:5px}.admin-pagination-gap{padding:0 3px;color:var(--text-dim)}.admin-segmented{display:inline-flex;gap:6px;padding:5px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-subtle)}.admin-segmented button{min-height:30px;padding:6px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-dim);font-size:11px;font-weight:900;cursor:pointer}.admin-segmented button.active{color:var(--accent);border-color:#007aff4d;background:#007aff1f}.admin-state{min-height:120px;display:grid;place-items:center;color:var(--text-dim);font-size:12px;font-weight:700}.admin-state.danger{color:var(--status-fail)}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-note{margin:0 0 16px;padding:11px 14px;border:1px solid rgba(0,122,255,.18);border-radius:12px;color:var(--accent);background:#007aff12;font-size:11px;font-weight:800}.admin-note-spaced{margin-top:6px}.admin-empty-row td{color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-chart-content{display:flex;min-height:304px;flex-direction:column}.admin-chart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-chart-plot{flex:1 1 auto;min-height:240px}.admin-duration-chart{display:block;width:100%;height:auto;overflow:visible}.admin-chart-toolbar p{margin:0;color:var(--text-dim);font-size:10px;font-weight:800;line-height:1.5}.admin-error-quick-filter{flex:1 1 520px;min-width:0;align-items:center}.admin-error-search-field{position:relative;display:flex;align-items:center;width:min(620px,100%);height:40px;overflow:hidden;border:1px solid var(--control-border);border-radius:12px;background:var(--control-surface);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.admin-error-search-field:focus-within{border-color:var(--accent);background:var(--control-surface-focus);box-shadow:0 0 0 3px #007aff1a}.admin-error-search-actions svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.admin-error-search-input{height:100%;min-height:0;padding:0 38px 0 13px;border:0;border-radius:0;background:transparent;box-shadow:none}.admin-error-search-input:focus{border:0;background:transparent;box-shadow:none;outline:none}.admin-error-search-clear{position:absolute;right:8px;display:grid;width:24px;height:24px;padding:0;place-items:center;border:0;border-radius:8px;color:var(--text-dim);background:#142f3f0f;cursor:pointer;font:inherit;font-size:16px;line-height:1}.admin-error-search-clear:hover{color:var(--text);background:#142f3f1c}.admin-error-search-actions{flex-wrap:nowrap}.admin-error-search-actions>button{height:40px;min-height:40px;padding-inline:14px;border-radius:12px}.admin-error-search-actions>button.active{border-color:#007aff6b;color:var(--accent);background:#007aff1c}.admin-error-filter-shell{position:relative;z-index:30;margin-bottom:18px}.admin-error-filter-shell>.admin-filter-bar{margin-bottom:0}.admin-expanded-filter{padding:16px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-default)}.admin-error-filter-dropdown{position:absolute;top:calc(100% + 7px);right:0;left:auto;z-index:31;width:min(640px,100%);margin:0;padding:13px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-default);box-shadow:var(--shadow-floating);transform-origin:top right;animation:admin-filter-dropdown-in .18s cubic-bezier(.2,.8,.2,1)}.admin-error-filter-dropdown .admin-panel-header{min-height:32px;margin-bottom:9px;align-items:center}.admin-error-filter-dropdown .admin-panel-header h2{font-size:13px}.admin-error-filter-dropdown .admin-panel-header p{margin-top:2px}@keyframes admin-filter-dropdown-in{0%{opacity:0;transform:translateY(-7px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-error-filter-top-grid{display:grid;grid-template-columns:minmax(130px,.72fr) minmax(280px,1.45fr);align-items:end;gap:10px}.admin-filter-preset-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-filter-preset-actions>button{min-width:56px}.admin-error-filter-date-grid{grid-template-columns:repeat(2,minmax(210px,1fr));gap:10px;margin-top:9px}.admin-filter-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:11px}.admin-page-size{display:flex;align-items:center;gap:7px;color:var(--text-dim);font-size:10px;font-weight:800}.admin-pagination-with-jump{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.admin-pagination-with-jump .admin-pagination{flex:1 1 auto}.admin-page-jump{display:flex;align-items:center;gap:6px;color:var(--text-dim);font-size:10px}.admin-pagination-pages>button,.admin-page-jump>button,.admin-page-jump input{height:34px;min-height:34px;max-height:34px;padding-top:0;padding-bottom:0;box-sizing:border-box;line-height:1}.admin-pagination-pages>button,.admin-page-jump>button{display:inline-flex;align-items:center;justify-content:center}.admin-page-jump input{width:58px;text-align:center}.admin-page-jump>button{min-width:44px}@media(min-width:901px){.manage-body-content:has(.admin-user-page){padding-top:20px;padding-bottom:16px}.admin-error-page .admin-page-header{min-height:50px;margin-bottom:12px}.admin-error-page .admin-kpi-grid{margin-bottom:12px}.admin-error-page .admin-kpi-card{min-height:82px;padding:12px 16px}.admin-error-page .admin-kpi-card>strong{margin-top:6px;font-size:23px}.admin-error-page .admin-kpi-card>small{margin-top:5px}.admin-error-filter-shell{margin-bottom:12px}.admin-error-filter-shell>.admin-filter-bar{min-height:62px;padding:10px 14px}.admin-error-events-panel{margin-bottom:0;padding:14px 18px}.admin-error-events-panel .admin-panel-header{min-height:38px;margin-bottom:6px;align-items:center}.admin-error-table{min-height:calc(34px + var(--admin-min-rows, 0) * 46px)}.admin-error-table .admin-table th{height:34px;padding-block:7px}.admin-error-table .admin-table td{height:46px;padding-block:7px}.admin-error-events-panel .admin-pagination{min-height:48px}.admin-user-page .admin-page-header{min-height:50px;margin-bottom:12px}.admin-user-page .admin-kpi-grid{margin-bottom:12px}.admin-user-page .admin-kpi-card{min-height:82px;padding:12px 16px}.admin-user-page .admin-kpi-card>strong{margin-top:6px;font-size:23px}.admin-user-page .admin-kpi-card>small{margin-top:5px}.admin-user-page>.admin-user-filter{min-height:62px;margin-bottom:12px;padding:10px 14px}.admin-user-list-panel{margin-bottom:0;padding:14px 18px}.admin-user-list-panel .admin-panel-header{min-height:34px;margin-bottom:4px;align-items:center}.admin-user-table{min-height:calc(32px + var(--admin-min-rows, 0) * 42px)}.admin-user-table .admin-table th{height:32px;padding-block:6px}.admin-user-table .admin-table td{height:42px;padding-block:4px}.admin-user-list-panel .admin-pagination{min-height:42px}.manage-body-content:has(.admin-catalog-page){padding-top:20px;padding-bottom:16px}.admin-catalog-page .admin-page-header{min-height:50px;margin-bottom:12px}.admin-catalog-page .admin-kpi-grid{margin-bottom:12px}.admin-catalog-page .admin-kpi-card{min-height:82px;padding:12px 16px}.admin-catalog-page .admin-kpi-card>strong{margin-top:6px;font-size:23px}.admin-catalog-page .admin-kpi-card>small{margin-top:5px}.admin-catalog-page>.admin-catalog-filter{min-height:62px;margin-bottom:12px;padding:10px 14px}.admin-catalog-list-panel{margin-bottom:0;padding:14px 18px}.admin-catalog-list-panel .admin-panel-header{min-height:34px;margin-bottom:4px;align-items:center}.admin-catalog-table{min-height:calc(32px + var(--admin-min-rows, 0) * 66px)}.admin-catalog-table .admin-table th{height:32px;padding-block:6px}.admin-catalog-table .admin-table td{height:66px;padding-block:4px}.admin-catalog-list-panel .admin-pagination{min-height:42px}}.admin-ingest-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-checkbox-field{justify-content:flex-end}.admin-checkbox-field>label{display:flex;align-items:center;gap:6px;color:var(--text);font-size:12px;font-weight:700;cursor:pointer}.admin-ingest-option-buttons{display:flex;align-items:center;gap:7px;min-height:34px}.admin-ingest-option-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:112px;height:34px;padding:0 11px;border:1px solid rgba(20,47,63,.11);border-radius:10px;color:var(--text-dim);background:#ffffffa3;font-size:10px;font-weight:900;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.admin-ingest-option-button:hover{border-color:#007aff47;color:var(--accent);background:#ffffffdb}.admin-ingest-option-button:has(input:checked){border-color:#007aff6b;color:var(--accent);background:#007aff14;box-shadow:inset 0 0 0 1px #007aff0d}.admin-ingest-option-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.admin-ingest-option-button:focus-within{outline:2px solid rgba(0,122,255,.24);outline-offset:2px}.admin-ingest-option-button:before,.admin-ingest-option-button:after{position:absolute;z-index:20;left:50%;pointer-events:none;opacity:0;transition:opacity .14s ease,transform .14s ease}.admin-ingest-option-button:before{content:"";top:calc(100% + 3px);border:5px solid transparent;border-bottom-color:#142138f0;transform:translate(-50%,-3px)}.admin-ingest-option-button:after{content:attr(data-tooltip);top:calc(100% + 13px);width:-moz-max-content;width:max-content;max-width:230px;padding:7px 9px;border-radius:8px;color:#fff;background:#142138f0;box-shadow:var(--shadow-floating);font-size:9px;font-weight:700;line-height:1.45;text-align:left;white-space:normal;transform:translate(-50%,-4px)}.admin-ingest-option-button:hover:before,.admin-ingest-option-button:hover:after,.admin-ingest-option-button:focus-within:before,.admin-ingest-option-button:focus-within:after{opacity:1;transform:translate(-50%)}.admin-form-actions{display:flex;gap:8px;align-items:center}.admin-form-actions.wide{grid-column:1 / -1}.admin-ingest-submit-row{min-height:38px;justify-content:flex-end}.admin-ingest-submit-row .admin-inline-error{margin-right:auto}.admin-ingest-submit-row>button{min-width:104px}.admin-setting-action-row{min-height:32px;margin-top:10px;flex-wrap:nowrap}.admin-inline-setting{display:inline-flex;min-height:32px;align-items:center;padding:0 11px;border:1px solid var(--glass-border);border-radius:9px;color:var(--text-dim);background:#ffffff75;font-size:10px;font-weight:800;white-space:nowrap}.admin-batch-status{min-height:190px;display:flex;flex-direction:column;justify-content:center;gap:20px}.admin-status-line{display:flex;align-items:center;gap:10px}.admin-status-line strong{color:var(--text);font-size:13px}.admin-batch-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-batch-metrics span{padding:13px;border:1px solid var(--border-subtle);border-radius:13px;background:var(--surface-subtle)}.admin-batch-metrics small,.admin-batch-metrics b{display:block}.admin-batch-metrics small{color:var(--text-dim);font-size:9px;font-weight:800}.admin-batch-metrics b{margin-top:6px;color:var(--text);font-size:18px}.admin-inline-error{margin:0;color:var(--status-fail);font-size:11px;line-height:1.5}.admin-field-hint{grid-column:1 / -1;margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.account-profile-page{display:flex;flex-direction:column;gap:18px}.account-profile-edit-actions{display:flex;gap:8px;justify-content:flex-end}.account-profile-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:0}.account-verified-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#ebfff5;color:#1a9e5e;font-size:10px;font-weight:700;white-space:nowrap}.account-profile-hero{display:flex;align-items:center;gap:24px;min-height:184px;padding:24px 26px;border:1px solid var(--control-border);border-radius:18px;background:var(--surface-default)}.account-profile-overview-avatar{position:relative;flex:none;width:118px;height:118px}.account-profile-overview-avatar>span{display:flex;align-items:center;justify-content:center;width:112px;height:112px;overflow:hidden;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:var(--brand-main);color:#fff;font-size:34px;font-weight:900}.account-profile-overview-avatar>button{position:absolute;right:0;bottom:2px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:2px solid #fff;border-radius:50%;background:#eef7ff;color:var(--brand-main);font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px #14213829;transition:transform .15s ease,background-color .15s ease}.account-profile-overview-avatar>button:hover{transform:translateY(-1px);background:#dff0ff}.account-profile-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}.account-profile-hero-copy h2{margin:0;color:var(--text);font-size:22px;font-weight:900}.account-profile-hero-copy p{margin:0;color:var(--text-dim);font-size:11px}.account-profile-hero-copy small{color:var(--text-dim);font-size:10px;line-height:1.5}.account-profile-type-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:#ebf7ff;color:var(--brand-main);font-size:9px;font-weight:900}.account-profile-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.account-profile-overview-card{align-self:start;min-height:216px;padding:20px;border:1px solid var(--control-border);border-radius:16px;background:var(--surface-default);transition:border-color .2s ease,box-shadow .2s ease}.account-profile-overview-card h2{margin:0 0 14px;color:var(--text);font-size:15px;font-weight:900}.account-profile-overview-card dl{display:flex;flex-direction:column;gap:14px;margin:0}.account-profile-overview-card dl>div{display:flex;align-items:center;justify-content:space-between;min-height:30px;gap:16px}.account-profile-overview-card dt{color:var(--text-dim);font-size:10px}.account-profile-overview-card dd{margin:0;overflow:hidden;color:var(--text);font-size:11px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.account-profile-overview-card dl>div.is-editing{min-height:38px}.account-profile-overview-card dl>div.is-editing dd{width:min(230px,70%);overflow:visible}.account-profile-overview-card dl>div.is-editing input{min-height:36px}.account-profile-name-error{display:block;margin-top:8px}.account-profile-overview-card dl>div.account-profile-address-row,.account-profile-overview-card dl>div.account-profile-interest-row{align-items:flex-start}.account-profile-overview-card dl>div.account-profile-address-row dd,.account-profile-overview-card dl>div.account-profile-interest-row dd{width:min(280px,70%);white-space:normal;text-align:right}.account-profile-address-field{position:relative;width:100%;text-align:left}.account-profile-address-search-row{display:flex;gap:6px}.account-profile-address-search-row>div{flex:1}.account-profile-address-search-row button{flex:none;padding:0 12px;border:1px solid var(--control-border);border-radius:8px;background:var(--surface2);color:var(--text);font-size:10px;font-weight:900;cursor:pointer}.account-profile-address-search-row button:disabled{cursor:wait;opacity:.55}.account-profile-address-current{margin:6px 0 0;color:var(--text-dim);font-size:10px;font-weight:700}.account-profile-address-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;z-index:10;max-height:200px;overflow-y:auto;background:var(--bg-white, #fff);border:1px solid var(--control-border);border-radius:8px;box-shadow:0 8px 20px #00000014}.account-profile-address-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line-light, #eef1f5)}.account-profile-address-item:last-child{border-bottom:none}.account-profile-address-item strong{display:block;color:var(--text);font-size:11px;font-weight:900}.account-profile-address-item span{display:block;margin-top:2px;color:var(--text-dim);font-size:10px}.account-profile-address-item.account-profile-address-empty{cursor:default;color:var(--text-dim);font-size:10px}.account-profile-interest-checkboxes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px}.account-profile-interest-checkboxes label{display:flex;align-items:center;gap:5px;color:var(--text);font-size:10px;font-weight:700;cursor:pointer}.account-profile-interest-checkboxes input{accent-color:var(--accent)}.account-profile-building-picker{margin-top:10px;text-align:left;transform-origin:top center;animation:account-profile-picker-reveal .28s cubic-bezier(.22,1,.36,1) both}.account-building-picker-map{position:relative;width:100%;height:220px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}.account-profile-building-picker-status{margin-top:6px;color:var(--text-dim);font-size:10px;font-weight:700}.account-profile-building-picker-status.is-selected{color:var(--status-ok, #04b014)}@keyframes account-profile-picker-reveal{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.account-profile-building-picker{animation:none}}.account-profile-danger-zone{margin-top:4px;padding:16px;border:1px solid rgba(220,0,0,.25);border-radius:12px;background:#dc00000a}.account-profile-danger-zone h2{margin:0 0 4px;color:#dc0000;font-size:13px;font-weight:900}.account-profile-danger-zone p{margin:0 0 12px;color:var(--text-dim);font-size:10px;line-height:1.5}.account-profile-withdraw-modal{display:flex;flex-direction:column;gap:0}.account-profile-withdraw-modal>p{margin:0 0 16px;color:var(--text-dim);font-size:11px;line-height:1.6}.account-profile-withdraw-agree{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px;color:var(--text);font-size:11px;font-weight:700;cursor:pointer}.account-profile-withdraw-agree input{margin-top:2px;accent-color:#dc0000}.account-profile-security-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.account-profile-security-card h2{margin-bottom:2px}.account-profile-security-card>span,.account-profile-security-card>p{margin:0;color:var(--text-dim);font-size:10px}.account-profile-security-card>strong{color:var(--text);font-size:22px;font-weight:900}.account-profile-security-card>button{margin-top:auto;min-width:120px}.account-profile-notice{margin-bottom:0}.account-profile-verify-backdrop{z-index:110}.account-profile-verify-modal{display:flex;flex-direction:column;gap:0}.account-profile-verify-icon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:14px;border:1px solid #add1ff;border-radius:12px;background:#eef8ff;color:var(--brand-main);font-size:0}.account-profile-verify-icon:before{content:"";width:15px;height:13px;border:2px solid currentColor;border-radius:4px;background:linear-gradient(currentColor,currentColor) center 5px / 2px 5px no-repeat}.account-profile-verify-icon:after{content:"";position:absolute;width:9px;height:8px;margin-top:-15px;border:2px solid var(--brand-main);border-bottom:0;border-radius:8px 8px 0 0}.account-profile-verify-modal>p{margin-bottom:16px}.account-profile-verify-field{display:flex;flex-direction:column;gap:7px;color:var(--text-dim);font-size:10px;font-weight:900}.account-profile-verify-field>div{position:relative}.account-profile-verify-field input{min-height:46px;padding-right:58px;background:#fafcff;font-size:13px}.account-profile-verify-field button{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:4px;border:0;background:transparent;color:var(--brand-main);font-size:10px;font-weight:900;cursor:pointer}.account-profile-forgot-link{align-self:flex-start;margin:12px 0;padding:0;border:0;background:transparent;color:var(--brand-main);font-size:10px;font-weight:900;cursor:pointer}.account-profile-forgot-link:disabled{cursor:wait;opacity:.55}.account-profile-forgot-sent{margin:12px 0;color:var(--status-ok);font-size:10px;line-height:1.5}.account-profile-verify-error{margin-top:7px}.account-profile-image-error{position:absolute;top:calc(100% + 8px);left:0;width:280px;padding:8px 10px;border-radius:10px;background:#fff2f2;box-shadow:0 8px 20px #1421381f}.account-profile-edit-layout{display:flex;gap:16px;margin-top:16px;align-items:flex-start;flex-wrap:wrap}.account-profile-edit-layout .account-profile-form-card{flex-basis:100%}.account-profile-card-title{margin:0 0 4px;font-size:15px;font-weight:700;color:var(--text)}.account-profile-form-description{margin:0;color:var(--text-dim);font-size:10px;line-height:1.5}.account-profile-photo-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:280px;flex-shrink:0;padding:28px 24px 24px;border:1px solid var(--control-border);border-radius:var(--radius-panel);background:var(--surface-default);text-align:center}.account-profile-avatar-wrap{position:relative;width:132px;height:132px}.account-profile-image-preview-lg,.account-profile-image-placeholder-lg{width:132px;height:132px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.account-profile-image-placeholder-lg{background:var(--accent);color:#fff;font-size:40px;font-weight:700;display:flex;align-items:center;justify-content:center}.account-profile-edit-avatar-btn{position:absolute;right:-4px;bottom:-4px;width:40px;height:40px;border-radius:50%;border:2px solid #fff;background:var(--accent);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #14213840}.account-profile-name-lg{margin:0;font-size:17px;font-weight:700;color:var(--text)}.account-profile-email-sm{margin:0;font-size:10px;color:var(--text-dim)}.account-profile-avatar-hint{margin:0;font-size:10px;line-height:1.5;color:var(--text-dim)}.account-profile-file-note{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px;border-radius:12px;background:var(--surface2);text-align:left}.account-profile-file-note strong{font-size:9px;color:var(--text-dim)}.account-profile-file-note span{font-size:10px;color:var(--text)}.account-profile-file-note em{font-size:9px;font-style:normal;color:var(--accent)}.account-profile-form-card{display:flex;flex-direction:column;gap:15px;flex:1 1 480px;min-width:320px;padding:24px;border:1px solid var(--control-border);border-radius:var(--radius-panel);background:var(--surface-default)}.account-profile-field-label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:700;color:var(--text-dim)}.account-profile-readonly-input{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 14px;border:1px solid var(--control-border);border-radius:10px;background:var(--surface2);font-size:11px;font-weight:400;color:var(--text)}.account-profile-readonly-input em{font-size:9px;font-style:normal;font-weight:700;color:var(--text-dim)}.admin-inline-success{margin:0;color:var(--status-ok, #1a8f4c);font-size:11px;line-height:1.5}.admin-pipeline-stages{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.admin-pipeline-stage{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-subtle)}.admin-pipeline-stage-no{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--glass-border);color:var(--text-dim);font-size:11px;font-weight:800;flex:none}.admin-pipeline-stage-label{flex:1;color:var(--text);font-size:12px;font-weight:700}.admin-pipeline-stage.stage-done .admin-pipeline-stage-no{background:var(--status-success);color:#fff}.admin-pipeline-stage.stage-active .admin-pipeline-stage-no{background:var(--brand-main);color:#fff}.admin-pipeline-stage.stage-failed .admin-pipeline-stage-no{background:var(--status-fail);color:#fff}.admin-crawl-form{grid-template-columns:repeat(2,minmax(0,1fr));min-height:53px}.admin-speed-control{display:flex;align-items:center;gap:12px;min-height:53px}.admin-estimate-speed-row{flex-wrap:nowrap}.admin-estimate-speed-input{width:140px;max-width:140px;flex:0 0 140px}.admin-priority-input{width:84px;max-width:84px;flex:0 0 84px}.admin-face-speed-control{display:flex;align-items:center;gap:10px}.admin-face-speed-input-row{display:flex;align-items:center;gap:9px;color:var(--text-dim);font-size:10px;font-weight:900}.admin-face-speed-input-wrap{display:flex;align-items:center;gap:7px}.admin-face-speed-input-wrap em{color:var(--text-dim);font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.admin-face-speed-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-request-speed-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 18px}.admin-request-speed-control>input{grid-column:1}.admin-request-speed-value{grid-column:2;grid-row:1 / span 2;min-width:128px;padding:12px;border:1px solid var(--border-subtle);border-radius:13px;background:var(--surface-subtle);text-align:right}.admin-request-speed-value span,.admin-request-speed-value small,.admin-request-speed-value strong{display:block}.admin-request-speed-value span{color:var(--text-dim);font-size:9px;font-weight:900}.admin-request-speed-value strong{margin-top:3px;color:var(--text);font-size:20px;font-weight:900}.admin-request-speed-value small{margin-top:2px;color:var(--accent);font-size:10px;font-weight:800}.admin-request-speed-scale{grid-column:1;display:flex;justify-content:space-between;color:var(--text-dim);font-size:9px;font-weight:700}.admin-progress-summary{margin-bottom:16px}.admin-progress-summary>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-progress-summary strong{color:var(--text);font-size:12px}.admin-progress-summary span{color:var(--text-dim);font-size:10px}.admin-progress-track{height:8px;overflow:hidden;border-radius:999px;background:var(--glass-border)}.admin-progress-track>div{height:100%;border-radius:inherit;background:var(--status-success);transition:width .3s ease}.admin-region-progress-cell{display:flex;align-items:center;gap:8px;min-width:120px}.admin-region-progress-cell .admin-progress-track{flex:1 1 auto}.admin-region-progress-cell span{flex:0 0 auto;color:var(--text-dim);font-size:11px;font-weight:700}.account-page{width:100%;height:100%;overflow:hidden;color:var(--text);background:var(--bg-screen)}.account-state-card{max-width:480px;margin:80px auto;padding:24px;text-align:center;color:var(--text-dim)}.account-shell{display:flex;align-items:stretch;gap:24px;width:100%;max-width:1180px;height:calc(100% - 32px);min-height:0;margin:16px auto;padding:0 24px}.account-sidebar{flex:0 0 0;width:0;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:24px 0;border:1px solid transparent;border-radius:20px;background:var(--surface-default);box-shadow:none;opacity:0;transform:translate(-16px);transition:width .24s ease,flex-basis .24s ease,padding .24s ease,opacity .18s ease,transform .24s ease,border-color .24s ease,box-shadow .24s ease}.account-sidebar.open{flex-basis:250px;width:250px;padding:24px 18px;border-color:var(--border-subtle);box-shadow:var(--shadow-card);opacity:1;transform:translate(0)}.account-profile-summary{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:16px;background:#f5faff;border:1px solid #d4e3f2}.account-profile-summary strong{font-size:17px;color:var(--text)}.account-profile-summary span{font-size:10px;color:var(--text-dim)}.account-type-tag{align-self:flex-start;margin-top:2px;padding:5px 9px;border-radius:999px;background:#e5f5ff;color:var(--brand-main);font-size:9px;font-weight:900;font-style:normal}.account-content{flex:1;min-width:0;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:30px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--shadow-card)}.account-content::-webkit-scrollbar{width:6px}.account-content::-webkit-scrollbar-track{margin-block:14px;background:transparent}.account-content::-webkit-scrollbar-thumb{border-radius:999px;background:#4f627a38}.account-content::-webkit-scrollbar-thumb:hover{background:#4f627a61}.account-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.account-page-heading h1{margin:0 0 5px;font-size:24px;font-weight:900;color:var(--text)}.account-page-heading p{margin:0;font-size:11px;color:var(--text-dim)}.account-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.account-kpi-card{display:flex;flex-direction:column;gap:4px;padding:14px 15px;border-radius:16px;border:1px solid var(--border-subtle);background:var(--surface-default)}.account-kpi-label{color:var(--text-dim);font-size:10px;font-weight:700}.account-kpi-card strong{font-size:20px;font-weight:900;color:var(--text)}.account-kpi-card small{color:var(--brand-main);font-size:9px}.account-notice{display:flex;align-items:center;gap:10px;padding:0 16px;height:54px;margin-bottom:18px;border-radius:14px;border:1px solid #b8dbff;background:#f0faff;color:#2e4f73;font-size:10px}.account-notice span{color:var(--brand-main);font-size:14px;font-weight:900}.account-device-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:900;color:var(--text);font-size:14px}.account-device-list-head-spaced{margin-top:8px}.account-device-list-head span:last-child{color:var(--text-dim);font-size:10px;font-weight:700}.account-state-text{color:var(--text-dim);font-size:12px;padding:20px 0}.account-device-row{display:flex;align-items:center;gap:14px;padding:16px;margin-bottom:12px;border-radius:var(--radius-card);border:1px solid var(--border-subtle);background:var(--surface-default)}.account-device-row.current{border-color:#73b8ff}.account-device-icon{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border-radius:14px;background:#ebf7ff}.account-device-icon svg{width:24px;height:24px}.account-device-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.account-device-title{display:flex;align-items:center;gap:8px}.account-device-title strong{font-size:13px;color:var(--text)}.account-device-info span{font-size:10px;color:var(--text-dim)}.account-device-info span.is-remembered{color:var(--brand-main);font-weight:700}.account-device-current-tag{flex:none;display:flex;align-items:center;justify-content:center;width:174px;height:40px;border-radius:10px;border:1px solid #bfdbf7;background:#f0f7ff;color:var(--text-dim);font-size:10px;font-weight:900}.account-device-row .account-device-current-tag~button,.account-device-row>button{flex:none;min-width:174px;height:40px}.account-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#0d192d52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.account-modal{width:min(480px,calc(100vw - 40px));padding:28px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--shadow-sheet)}.account-modal-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:14px;border-radius:12px;background:#fff2f2;color:var(--status-fail);font-size:20px;font-weight:900}.account-modal h2{margin:0 0 10px;font-size:17px;font-weight:900;color:var(--text)}.account-modal>p{margin:0 0 16px;font-size:12px;color:var(--text-dim);line-height:1.5}.account-modal-target{display:flex;flex-direction:column;gap:4px;padding:12px;margin-bottom:20px;border-radius:12px;background:var(--bg-screen)}.account-modal-target strong{font-size:12px;color:var(--text)}.account-modal-target span{font-size:10px;color:var(--text-dim)}.account-modal-actions{display:flex;gap:10px}.account-modal-actions>*{flex:1}.building-edit-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;background:#0d192d6b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media(min-width:901px)and (max-height:820px){.manage-body-content:has(.admin-user-page),.manage-body-content:has(.admin-catalog-page),.manage-body-content:has(.admin-usage-page){padding-top:14px;padding-bottom:10px}.admin-user-page .admin-page-header,.admin-catalog-page .admin-page-header,.admin-usage-page .admin-page-header{min-height:46px;margin-bottom:8px}.admin-user-page .admin-kpi-grid,.admin-catalog-page .admin-kpi-grid,.admin-usage-page .admin-kpi-grid{margin-bottom:7px}.admin-user-page .admin-kpi-card,.admin-catalog-page .admin-kpi-card,.admin-usage-page .admin-kpi-card{min-height:72px;padding:9px 14px}.admin-user-page .admin-kpi-card>strong,.admin-catalog-page .admin-kpi-card>strong,.admin-usage-page .admin-kpi-card>strong{margin-top:4px;font-size:21px}.admin-user-page .admin-kpi-card>small,.admin-catalog-page .admin-kpi-card>small,.admin-usage-page .admin-kpi-card>small{margin-top:3px}.admin-usage-page .admin-usage-kpi-note{margin-bottom:8px}.admin-usage-page .admin-panel{margin-bottom:0;padding:11px 14px}.admin-usage-page .admin-panel-header{min-height:34px;margin-bottom:5px;align-items:center}.admin-usage-page .admin-segmented{padding:3px}.admin-usage-page .admin-segmented button{min-height:26px;padding-block:4px}.admin-usage-page .admin-table th{height:30px;padding-block:5px}.admin-usage-page .admin-table td{height:38px;padding-block:2px}.admin-usage-page .admin-pagination{min-height:38px}.admin-usage-page .admin-chart-content{min-height:242px}.admin-usage-page .admin-chart-plot{min-height:190px}.admin-usage-page .admin-duration-chart{max-height:220px}.admin-user-page>.admin-user-filter,.admin-catalog-page>.admin-catalog-filter{min-height:54px;margin-bottom:8px;padding-block:8px}.admin-user-list-panel,.admin-catalog-list-panel{padding-block:10px}.admin-user-list-panel .admin-panel-header,.admin-catalog-list-panel .admin-panel-header{min-height:30px;margin-bottom:2px}.admin-user-table{min-height:calc(30px + var(--admin-min-rows, 0) * 38px)}.admin-user-table .admin-table th{height:30px;padding-block:5px}.admin-user-table .admin-table td{height:38px;padding-block:2px}.admin-catalog-table{min-height:calc(30px + var(--admin-min-rows, 0) * 60px)}.admin-catalog-table .admin-table th{height:30px;padding-block:5px}.admin-catalog-table .admin-table td{height:60px;padding-block:3px}.admin-user-list-panel .admin-pagination,.admin-catalog-list-panel .admin-pagination{min-height:38px}}.building-edit-modal{width:min(1540px,calc(100vw - 36px));height:min(940px,calc(100dvh - 36px));min-height:560px;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-sheet);background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);display:grid;grid-template-rows:auto minmax(0,1fr) auto}.building-edit-header{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px 12px 22px;border-bottom:1px solid var(--glass-outline);background:var(--surface-glass-sheet)}.building-edit-header>div:first-child{min-width:0}.building-edit-eyebrow{display:block;margin-bottom:2px;color:var(--accent);font-size:10px;font-weight:800}.building-edit-header h2{margin:0;color:var(--text);font-size:17px;font-weight:900;line-height:1.25}.building-edit-header p{margin:3px 0 0;overflow:hidden;color:var(--text-dim);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.building-edit-workspace{position:relative;min-height:0;overflow:hidden;background:#dfe7ef}.building-edit-map-stage{position:absolute;top:0;right:0;bottom:0;left:0;min-width:0;min-height:0}.building-edit-empty-state{height:100%;display:grid;place-items:center;color:var(--text-dim);font-size:12px;font-weight:700}.building-edit-property-panel{position:absolute;z-index:8;top:16px;right:auto;left:108px;width:min(318px,calc(100% - 132px));max-height:calc(100% - 32px);overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-panel);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));transition:width .24s cubic-bezier(.22,1,.36,1),box-shadow .2s ease}.building-edit-property-panel.is-collapsed{width:180px}.building-edit-property-header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 16px;border-bottom:1px solid rgba(123,146,176,.18);cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.building-edit-property-header:active{cursor:grabbing}.building-edit-property-header>div:first-child{display:flex;flex-direction:column;gap:2px}.building-edit-property-header span{color:var(--text-dim);font-size:9px;font-weight:700}.building-edit-property-header strong{color:var(--text);font-size:14px;font-weight:900}.building-edit-property-controls{display:flex;align-items:center;gap:5px}.building-edit-drag-mark{color:var(--text-muted);font-size:18px!important;line-height:1}.building-edit-property-controls button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--control-border);border-radius:var(--radius-control);background:var(--control-surface);color:var(--text-secondary);cursor:pointer}.building-edit-property-controls button:hover{border-color:#007aff52;color:var(--accent)}.building-edit-property-controls svg{width:16px;height:16px}.building-edit-property-body{max-height:calc(100dvh - 230px);overflow-y:auto;padding:14px}.building-edit-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.building-edit-form-grid label{min-width:0;display:flex;flex-direction:column;gap:5px;color:var(--text-dim);font-size:10px;font-weight:700}.building-edit-form-grid label.is-wide{grid-column:1 / -1}.building-edit-form-grid input{width:100%;background:var(--control-surface)}.building-edit-property-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 12px;padding:10px 12px;border-radius:var(--radius-control);background:var(--surface-subtle);color:var(--text-dim);font-size:9px}.building-edit-property-meta strong{min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.building-edit-panel-message{margin:0 0 10px;color:var(--text-dim);font-size:10px}.building-edit-panel-message.error{color:var(--status-fail)}.building-edit-panel-message.is-success{color:var(--status-success)}.building-edit-save-note{margin:12px 0 0;padding:9px 10px;border-radius:10px;background:#007aff0f;color:var(--text-dim);font-size:9px;line-height:1.45}.building-edit-footer{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border-top:1px solid var(--glass-outline);background:var(--surface-glass-sheet)}.building-edit-footer>div{display:flex;align-items:center;gap:8px}.building-edit-status{position:absolute;z-index:7;left:50%;bottom:76px;transform:translate(-50%);min-height:34px;max-width:min(520px,calc(100% - 32px));display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--glass-outline);border-radius:var(--radius-pill);background:var(--surface-floating);box-shadow:var(--shadow-soft);color:var(--text-secondary);font-size:10px;font-weight:700;backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation))}.building-edit-status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--status-success)}.building-edit-status-dot.is-dirty{background:#f5a524;box-shadow:0 0 0 4px #f5a52424}.polygon-editor{width:100%;height:100%}.polygon-editor-canvas{position:relative;width:100%;height:100%;overflow:hidden;background:#0d192d}.polygon-editor-map{width:100%;height:100%}.polygon-editor-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.1) 0 1px,transparent 1px 32px),repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 1px,transparent 1px 32px)}.polygon-editor-toolbar{position:absolute;z-index:7;top:16px;left:16px;width:76px;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:7px;border:1px solid var(--glass-outline);border-radius:18px;background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(var(--glass-saturation))}.polygon-editor-tool-group{display:flex;flex-direction:column;gap:4px}.polygon-editor-tool-group+.polygon-editor-tool-group{padding-top:6px;border-top:1px solid rgba(123,146,176,.18)}.polygon-editor-tool{position:relative;width:60px;min-height:54px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 3px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text-secondary);font:inherit;font-size:8.5px;font-weight:800;line-height:1.15;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.polygon-editor-tool:hover{transform:translateY(-1px);background:#007aff12;color:var(--accent)}.polygon-editor-tool.is-active{border-color:#007aff40;background:var(--accent);color:#fff;box-shadow:0 6px 16px #007aff38}.polygon-editor-tool:disabled{opacity:.35;transform:none;cursor:not-allowed}.polygon-editor-tool.is-danger:not(:disabled){color:var(--status-fail)}.polygon-editor-tool svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.polygon-editor-tool kbd{position:absolute;top:4px;right:5px;min-width:12px;padding:1px 3px;border-radius:4px;background:#7481951a;color:var(--text-muted);font:700 7px/1.3 var(--sans);text-transform:uppercase}.polygon-editor-tool.is-active kbd{background:#fff3;color:#ffffffdb}.polygon-editor-mode-hint{position:absolute;z-index:7;left:108px;bottom:16px;display:flex;flex-direction:column;gap:2px;max-width:360px;padding:8px 11px;border:1px solid var(--glass-outline);border-radius:11px;background:var(--surface-floating);box-shadow:var(--shadow-soft);color:var(--text-dim);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));pointer-events:none}.polygon-editor-mode-hint strong{display:flex;align-items:center;gap:7px;color:var(--text);font-size:10px}.polygon-editor-mode-hint strong kbd{padding:1px 5px;border-radius:5px;background:#007aff1a;color:var(--accent);font:800 8px/1.4 var(--sans)}.polygon-editor-mode-hint span{font-size:9px}.polygon-editor-mode-hint em{margin-top:3px;color:var(--accent);font-size:9px;font-style:normal;font-weight:800}.polygon-editor-selection-box{position:absolute;z-index:6;pointer-events:none;border:1px solid var(--accent);border-radius:4px;background:#007aff21;box-shadow:0 0 0 1px #ffffff73 inset}.polygon-editor-history-actions{position:absolute;z-index:7;left:50%;bottom:14px;transform:translate(-50%);display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--glass-outline);border-radius:14px;background:var(--surface-floating);box-shadow:var(--shadow-soft);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation))}.polygon-editor-history-actions button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font:700 9px/1 var(--sans);cursor:pointer}.polygon-editor-history-actions button:hover:not(:disabled){background:#007aff14;color:var(--accent)}.polygon-editor-history-actions button:disabled{opacity:.35;cursor:not-allowed}.polygon-editor-history-actions kbd{color:var(--text-muted);font-size:7px}.polygon-editor>.error{position:absolute;z-index:9;left:16px;bottom:58px;margin:0;color:var(--status-fail);font-size:10px}@media(max-width:1180px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.manage-body-content{padding-inline:22px}.admin-error-filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:900px){.building-edit-modal-backdrop{padding:0}.building-edit-modal{width:100vw;height:100dvh;min-height:0;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto}.building-edit-header{min-height:62px;padding:9px 12px 9px 16px}.building-edit-header h2{font-size:14px}.building-edit-header p{max-width:64vw}.building-edit-property-panel,.building-edit-property-panel.is-collapsed{position:absolute;top:auto!important;right:8px!important;bottom:8px;left:8px!important;width:auto;max-height:min(46dvh,420px);border-radius:18px}.building-edit-property-header{min-height:52px;padding-block:9px;cursor:default;touch-action:auto}.building-edit-drag-mark{display:none}.building-edit-property-body{max-height:calc(min(46dvh,420px) - 52px);padding:12px}.building-edit-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.building-edit-footer{min-height:58px;padding:8px}.building-edit-footer button{min-height:36px;padding-inline:11px}.building-edit-footer>div{gap:3px}.building-edit-status{bottom:12px;max-width:calc(100% - 24px)}.polygon-editor-toolbar{top:10px;right:10px;left:10px;width:auto;flex-direction:row;align-items:stretch;justify-content:flex-start;gap:3px;padding:4px;overflow-x:auto;scrollbar-width:none}.polygon-editor-toolbar::-webkit-scrollbar{display:none}.polygon-editor-tool-group{display:contents}.polygon-editor-tool-group+.polygon-editor-tool-group{padding:0;border:0}.polygon-editor-tool{width:64px;min-width:64px;min-height:44px;padding-inline:4px}.polygon-editor-tool kbd{display:none}.polygon-editor-mode-hint{top:70px;right:10px;bottom:auto;left:10px;max-width:none}.polygon-editor-history-actions{bottom:68px}.polygon-editor-history-actions kbd{display:none}.manage-page{background:var(--bg-screen)}.manage-site-header{height:64px;padding:0 16px;border-bottom:1px solid var(--border-subtle);background:var(--surface-default)}.manage-site-header .header-left{gap:8px}.manage-site-header .logo-link{min-width:94px;padding-inline:0;background:transparent;border-color:transparent;box-shadow:none;pointer-events:none;cursor:default}.manage-site-header .brand-logo{width:94px}.manage-header-title{display:inline-flex;padding:5px 8px;border-radius:999px;color:var(--accent);background:#007aff1a}.manage-header-title strong{font-size:10px}.manage-header-title small,.manage-header-account{display:none}.manage-site-header .header-actions,.manage-site-header .area-nav-buttons{gap:6px}.manage-site-header .area-nav-button{width:40px;min-width:40px;min-height:40px;padding:0;border-color:#007aff42;background:var(--control-surface)}.manage-site-header .area-nav-button-label{display:none}.account-page{overflow-x:hidden;overflow-y:auto}.account-shell{flex-direction:column;gap:14px;max-width:760px;height:auto;min-height:100%;margin:20px auto;padding:0 16px calc(var(--mobile-nav-height) + 28px)}.account-sidebar{display:none}.account-content{width:100%;height:auto;overflow:visible;padding:20px;scrollbar-gutter:auto}.account-page-heading{margin-bottom:14px}.account-page-heading h1{font-size:23px}.account-page-heading p{max-width:310px;font-size:11px;line-height:1.5}.account-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.account-kpi-card{min-height:94px;padding:13px 14px}.account-kpi-card strong{font-size:18px}.account-notice{height:auto;min-height:54px;margin-bottom:14px;padding-block:11px;line-height:1.45}.account-device-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}.account-device-row>button,.account-device-row .account-device-current-tag,.account-device-row .account-device-current-tag~button{grid-column:1 / -1;width:100%;min-width:0}.account-modal-backdrop{align-items:flex-end;padding:12px}.account-modal{width:100%;padding:22px 18px max(18px,env(safe-area-inset-bottom));border-radius:var(--radius-sheet)}.manage-shell{position:relative}.manage-body{height:100%}.manage-sidebar-backdrop{position:fixed;z-index:71;top:64px;right:0;bottom:74px;left:0;display:block;border:0;background:#0d192d38;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.manage-sidebar{position:fixed;z-index:72;inset:auto 10px 84px;width:auto;height:auto;max-height:min(620px,calc(100dvh - 168px));padding:14px;overflow:auto;border:1px solid var(--glass-border);border-radius:var(--radius-sheet);background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);opacity:0;pointer-events:none;transform:translateY(24px) scale(.97);transform-origin:bottom center;transition:opacity .2s ease,transform var(--motion-standard)}.manage-sidebar:before{content:"";width:38px;height:4px;margin:0 auto 8px;border-radius:999px;background:#616e8559}.manage-sidebar.open{width:auto;flex-basis:auto;padding:14px;opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.app-side-nav-section{gap:4px}.app-side-nav-section+.app-side-nav-section{margin-top:6px}.app-side-nav-item{min-height:40px;border:1px solid transparent;background:#ffffff7a}.app-side-nav-item.active{border-color:#007aff3d;background:#007aff1a}.manage-body-content{height:100%;padding:16px 16px 104px;overscroll-behavior:contain}.manage-content-card{max-width:100%;min-height:0}.manage-mobile-subnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:14px;padding:5px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-default);box-shadow:none}.manage-mobile-subnav a{min-height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text-dim);font-size:11px;font-weight:900;text-decoration:none}.manage-mobile-subnav a.active{color:var(--accent);background:#007aff1f}.app-mobile-bottom-nav{position:fixed;z-index:70;inset:auto 0 0;height:var(--mobile-nav-height);display:grid;grid-template-columns:repeat(var(--app-mobile-nav-columns, 4),minmax(0,1fr));align-items:start;gap:4px;padding:8px 10px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--glass-border);background:var(--surface-glass-floating);box-shadow:0 -10px 26px #1421381a;backdrop-filter:blur(var(--blur-sheet));-webkit-backdrop-filter:blur(var(--blur-sheet))}.app-mobile-bottom-nav-item{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;color:var(--text-dim);text-decoration:none}.app-mobile-bottom-nav-item>span{font-size:13px;line-height:1}.app-mobile-bottom-nav-item>strong{font-size:10px;font-weight:900}.app-mobile-bottom-nav-item.active{color:var(--accent);background:#007aff1f}.app-mobile-bottom-nav-item.disabled{opacity:.48}.admin-page-header{min-height:0;margin-bottom:14px;align-items:flex-start}.admin-page-header h1{font-size:23px}.admin-page-header p{max-width:280px;font-size:11px;line-height:1.5}.admin-page-actions{flex:0 0 auto}.admin-page-actions>button{min-height:34px}.admin-kpi-grid,.admin-kpi-grid.admin-kpi-grid-single{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-bottom:14px}.admin-kpi-grid.admin-kpi-grid-single{grid-template-columns:1fr}.admin-kpi-card{min-height:100px;padding:13px 14px;border-radius:var(--radius-card)}.admin-kpi-label{font-size:10px}.admin-kpi-label i{width:7px;height:7px;flex-basis:7px}.admin-kpi-card>strong{margin-top:8px;font-size:22px}.admin-kpi-card>small{margin-top:7px;font-size:9px}.admin-filter-bar{min-height:0;margin-bottom:14px;padding:9px 10px;border-radius:15px}.admin-panel{padding:13px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.admin-panel-header{min-height:0;margin-bottom:10px;padding-inline:0;align-items:center}.admin-panel-header h2{font-size:14px}.admin-panel-header p{display:none}.admin-panel:has(.admin-table-scroll){border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.admin-dashboard-grid{grid-template-columns:1fr;gap:12px}.admin-table-scroll,.admin-manufacturer-table,.admin-panel-catalog-table{min-height:0!important;overflow:visible;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.admin-table-scroll[style]{min-height:min(var(--admin-mobile-min-height),68dvh)!important}.admin-table-scroll .admin-table{min-width:0;display:block;font-size:11px;background:transparent!important}.admin-table thead{display:none}.admin-table tbody{display:flex;flex-direction:column;gap:10px}.admin-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-default);box-shadow:var(--shadow-soft)}.admin-table-scroll[style] .admin-table tbody tr{min-height:var(--admin-mobile-row-height)}.admin-table tbody tr:hover{background:#ffffffeb}.admin-table td{width:auto!important;height:auto;min-width:0;display:flex;flex-direction:column;gap:3px;padding:0;border:0;overflow:visible;white-space:normal!important}.admin-table td:before{content:attr(data-label);color:var(--text-dim);font-size:9px;font-weight:900}.admin-table td.cell-truncate{white-space:normal;overflow-wrap:anywhere}.admin-table td[colspan]{grid-column:1 / -1;align-items:center;padding:20px 0;color:var(--text-dim)}.admin-table td[colspan]:before{display:none}.admin-table .admin-empty-row{display:none}.admin-table td[data-label=이름],.admin-table td[data-label=모델명],.admin-table td[data-label=제조사명],.admin-table td[data-label=메시지],.admin-table td[data-label=관리]{grid-column:1 / -1}.admin-table td[data-label=이름] strong,.admin-table td[data-label=모델명],.admin-table td[data-label=제조사명]{font-size:13px;font-weight:900}.admin-table td[data-label=로고],.admin-table td[data-label=이미지]{grid-column:1;grid-row:1 / span 2;align-self:start}.admin-table td[data-label=로고]+td,.admin-table td[data-label=이미지]+td{grid-column:2}.admin-table td[data-label=관리]{margin-top:4px}.manage-table-actions,.manage-table-actions.compact-grid{min-height:0;display:flex;flex-wrap:wrap;gap:6px}.manage-table-actions.compact-grid>button{width:auto;flex:1 1 calc(50% - 3px)}.admin-table select,.admin-table button{width:100%}.admin-user-table .admin-table tbody tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:14px}.admin-user-table .admin-table td[data-label=이름]{order:1;grid-column:1}.admin-user-table .admin-table td[data-label=유형]{order:2;grid-column:2;grid-row:1;align-self:start;justify-self:end;width:-moz-max-content!important;width:max-content!important;padding:5px 8px;border-radius:999px;color:var(--accent);background:#007aff1a;font-size:10px;font-weight:900}.admin-user-table .admin-table td[data-label=유형]:before{display:none}.admin-user-table .admin-table td[data-label=이메일]{order:3;grid-column:1 / -1}.admin-user-table .admin-table td[data-label=등급]{order:4}.admin-user-table .admin-table td[data-label=상태]{order:5}.admin-user-table .admin-table td[data-label=관리]{order:6}.admin-user-table .admin-table td[data-label=이름]:before,.admin-user-table .admin-table td[data-label=이메일]:before{display:none}.admin-user-table .admin-table td[data-label=이메일]{color:var(--text-dim);font-size:10px}.admin-usage-table .admin-table tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px 14px}.admin-usage-table .admin-table td[data-label=기간]{grid-column:1 / -1;padding-bottom:9px;border-bottom:1px solid var(--glass-border);color:var(--text);font-size:12px;font-weight:900}.admin-usage-table .admin-table td[data-label=기간]:before{display:none}.admin-usage-table .admin-table td[data-label="요청 수"] strong,.admin-usage-table .admin-table td[data-label="평균 계산 시간"]{font-size:13px;font-weight:900}.admin-pagination{position:relative;min-height:0;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:9px;padding-top:12px}.admin-pagination-summary{position:static;width:100%;padding:0 2px;transform:none;text-align:right}.admin-pagination-pages{justify-content:center;flex-wrap:wrap}.admin-pagination-with-jump{align-items:stretch;flex-direction:column;justify-content:flex-start}.admin-pagination-with-jump .admin-pagination{flex:0 1 auto}.admin-page-jump{display:none}.admin-form-grid,.admin-error-filter-grid,.admin-ingest-form,.admin-crawl-form{grid-template-columns:1fr}.admin-crawl-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-form-panel{padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--shadow-soft)}.admin-chart-toolbar,.admin-speed-control,.admin-setting-action-row{align-items:stretch;flex-direction:column}.admin-duration-panel{padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--shadow-soft)}.admin-duration-panel .admin-panel-header{margin-bottom:12px}.admin-chart-content{min-height:0}.admin-chart-toolbar{gap:10px;margin-bottom:12px}.admin-chart-toolbar p{padding:9px 10px;border-radius:11px;background:#007aff12}.admin-chart-toolbar .admin-filter-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-chart-toolbar .admin-filter-group button{width:100%}.admin-chart-plot{min-height:0;overflow:hidden}.admin-duration-chart{width:100%;max-height:230px}.admin-face-speed-panel,.admin-crawl-speed-panel{padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-default);box-shadow:var(--shadow-soft)}.admin-face-speed-control{align-items:stretch;flex-direction:column}.admin-face-speed-input-row{align-items:stretch;flex-direction:column;gap:6px}.admin-face-speed-input-wrap{width:100%;min-height:42px;padding:5px 9px;border:1px solid var(--control-border);border-radius:12px;background:var(--control-surface)}.admin-face-speed-input-wrap .admin-estimate-speed-input{width:100%;max-width:none;flex:1 1 auto;border:0;background:transparent}.admin-face-speed-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.admin-face-speed-actions>button{width:100%}.admin-face-speed-actions>button:first-child{grid-column:1 / -1}.admin-request-speed-control{grid-template-columns:1fr;gap:12px}.admin-request-speed-value{grid-column:1;grid-row:auto;display:grid;grid-template-columns:1fr auto;align-items:baseline;min-width:0;padding:12px 13px;text-align:left}.admin-request-speed-value span{grid-column:1}.admin-request-speed-value strong{grid-column:1;font-size:22px}.admin-request-speed-value small{grid-column:2;grid-row:1 / span 2;align-self:center}.admin-request-speed-control>input{grid-column:1;height:6px;border-radius:999px}.admin-request-speed-control>input::-webkit-slider-thumb{width:22px;height:22px;border:4px solid #fff;box-shadow:0 3px 12px #007aff4d}.admin-request-speed-scale{grid-column:1}.admin-batch-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-batch-metrics span{padding:10px 8px}.admin-batch-metrics b{font-size:15px}.admin-expanded-filter{position:fixed;z-index:80;inset:auto 10px max(84px,calc(env(safe-area-inset-bottom) + 74px));width:auto;max-height:min(620px,calc(100dvh - 166px));margin:0;padding:16px;overflow:auto;border:1px solid var(--glass-border);border-radius:var(--radius-sheet);background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet),0 -100vh #0d192d33;backdrop-filter:blur(var(--blur-sheet));-webkit-backdrop-filter:blur(var(--blur-sheet))}.admin-expanded-filter .admin-panel-header p{display:block}.admin-filter-footer{position:sticky;bottom:0;padding-top:10px;background:inherit}.admin-dashboard-grid{grid-template-columns:1fr}}@media(max-width:640px){.admin-page-header{align-items:flex-start}.admin-filter-bar,.admin-pagination{align-items:stretch;flex-direction:column}.admin-progress-summary>div:first-child,.admin-speed-control{align-items:flex-start;flex-direction:column}.admin-pagination-with-jump{align-items:stretch;flex-direction:column}.admin-setting-action-row{align-items:flex-start;flex-direction:column}.admin-user-search{width:100%;flex-basis:auto}.admin-user-filter-actions{width:100%}.admin-user-filter-actions select{flex:1 1 auto;width:auto}.admin-error-quick-filter,.admin-error-search-field{width:100%;flex-basis:auto}.admin-error-search-actions{width:100%}.admin-error-search-actions>button{flex:1 1 0}.admin-error-filter-top-grid{grid-template-columns:minmax(92px,.65fr) minmax(0,1.35fr)}.admin-filter-preset-actions{flex-wrap:nowrap}.admin-filter-preset-actions>button{min-width:0;padding-inline:7px}.admin-error-filter-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.site-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.site-content{flex:1;min-height:0;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.fit-canvas-stage{position:relative;display:flex;align-items:center;justify-content:center}.fit-canvas-frame{position:relative;inset:0 auto auto 0;transform-origin:top left}.site-header{position:relative;z-index:30;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:var(--header-h, 56px);padding:0 32px;border-bottom:1px solid var(--border, #e4edf6);background:var(--bg-white, #fff);box-sizing:border-box}.site-header a{color:#141a22;text-decoration:none}.header-left{flex:0 0 auto;display:flex;align-items:center;gap:48px}.site-header .brand-logo{height:35px;width:auto;display:block}.primary-nav{display:flex;gap:40px;font-size:16px;font-weight:700}.primary-nav a,.login-link{transition:opacity .15s ease}.primary-nav a:hover,.login-link:hover{opacity:.7;text-decoration:none}.login-link{font-weight:700}.header-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px}.area-nav-buttons{display:flex;align-items:center;gap:8px}.area-nav-button{width:68px;min-width:68px;height:40px;min-height:40px;padding:0 11px;gap:7px;border:1px solid rgba(0,122,255,.34);border-radius:11px;color:var(--accent);background:var(--control-surface);box-shadow:none;font-size:12px;font-weight:800}.area-nav-button:hover{border-color:#007aff94;color:var(--accent);background:var(--control-surface-hover);box-shadow:none}.area-nav-button:active{transform:translateY(0) scale(.97)}.area-nav-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.area-nav-button-label{line-height:1}.layout-mode-toggle{color:var(--accent)}.layout-mode-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.logo-link{display:flex;align-items:center;padding:6px 10px;margin-left:-10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color .12s,background .12s}.logo-link:hover,.logo-link.open{border-color:var(--border, #e4edf6);background:var(--bg-light, #f7f7fb)}.header-brand-surface{display:flex;align-items:center;padding:6px 10px;border:1px solid var(--control-border);border-radius:12px;background:var(--control-surface);box-shadow:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.header-brand-surface:hover{border-color:var(--control-border-hover);background:var(--surface-hover);transform:translateY(-1px)}.header-search{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;min-width:280px;max-width:480px}.site-footer{flex:0 0 auto;height:60px;box-sizing:border-box;border-top:1px solid #e2e8f0;background:#eef2f7;padding:0 32px;display:flex;flex-wrap:nowrap;gap:24px;justify-content:space-between;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand .brand-logo{height:28px;width:auto}.footer-brand p{margin:0;font-size:13px;color:#5c6d84;white-space:nowrap}.footer-contact{font-size:12px;color:#6a7c93;white-space:nowrap}#app-header.site-header{background:#ffffff8f;border-bottom:1px solid rgba(255,255,255,.68);box-shadow:0 10px 30px #142f3f1a;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}#app-header .logo-link{min-height:0;padding:6px 10px;border-color:transparent;border-radius:12px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}#app-header .logo-link:hover,#app-header .logo-link.open{border-color:var(--glass-outline);background:var(--surface-floating-hover);box-shadow:none;backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%)}#app-header .header-help-btn,.login-action{height:40px;min-height:40px;padding:8px 16px;border-radius:12px;border:1px solid var(--accent);background:var(--accent);color:var(--white);box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;font-size:14px;font-weight:700;transition:border-color .12s,background .12s,box-shadow .12s,transform .12s}#app-header .header-help-btn{width:40px;padding:0;border-radius:50%}.login-action.logged-in{border-color:#dc000047;background:#dc000017;color:var(--status-fail)}#app-header .header-help-btn:hover,.login-action:not(.logged-in):hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 90%,#000);box-shadow:none;transform:translateY(-1px)}.login-action.logged-in:hover{border-color:#dc00006b;background:#dc000026;color:var(--status-fail);box-shadow:none;transform:translateY(-1px)}.header-profile-menu{position:relative;flex:none}.header-profile-control{display:flex;align-items:center;width:120px;height:40px;padding:4px;gap:4px;border:1px solid #c7dbf2;border-radius:13px;background:var(--control-surface);box-shadow:var(--shadow-soft)}.header-profile-avatar{position:relative;flex:none;width:32px;height:32px;padding:3px;border-radius:50%;border:0;background:transparent;color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:visible;transition:background .12s,transform .12s}.header-profile-avatar:hover{background:#007aff14;transform:translateY(-1px)}.profile-avatar-media,.profile-avatar-media>img,.profile-avatar-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;border-radius:inherit}.profile-avatar-media>img{-o-object-fit:cover;object-fit:cover}.profile-avatar-initial{background:var(--accent);color:#fff;font:inherit}.header-profile-avatar-media{width:26px;height:26px;border-radius:50%}.header-profile-name{display:flex;align-items:center;justify-content:space-between;gap:5px;width:76px;height:32px;padding:0 8px;border:0;border-radius:9px;background:transparent;color:#131e33;cursor:pointer;font:inherit;font-size:12px;font-weight:700;transition:background .12s}.header-profile-name:hover{background:#007aff14}.header-profile-name>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-profile-name-chevron{flex:none;color:#75859a;font-size:16px;line-height:1}.header-profile-avatar.shake{transform-origin:50% 58%;animation:header-profile-shake .72s cubic-bezier(.36,.07,.19,.97) both}.header-profile-avatar.shake .header-profile-avatar-media{animation:header-profile-avatar-pulse .72s ease both}.header-profile-avatar.shake .header-profile-badge{animation:header-profile-badge-pop .72s ease both}@keyframes header-profile-shake{0%,to{transform:rotate(0) translate(0)}15%{transform:rotate(-13deg) translate(-1px)}30%{transform:rotate(11deg) translate(1px)}45%{transform:rotate(-9deg) translate(-1px)}60%{transform:rotate(7deg) translate(1px)}75%{transform:rotate(-4deg) translate(0)}88%{transform:rotate(2deg) translate(0)}}@keyframes header-profile-avatar-pulse{0%,to{box-shadow:0 0 #007aff00}28%{box-shadow:0 0 0 4px #007aff24}}@keyframes header-profile-badge-pop{0%,to{scale:1}28%{scale:1.32}58%{scale:.92}}@media(prefers-reduced-motion:reduce){.header-profile-avatar.shake,.header-profile-avatar.shake .header-profile-avatar-media,.header-profile-avatar.shake .header-profile-badge{animation:none}}.header-profile-badge{position:absolute;top:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:#f52e2e;border:2px solid var(--surface-base, #fff)}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;width:min(360px,calc(100vw - 24px));border-radius:var(--radius-card);border:1px solid var(--glass-outline);background:var(--surface-glass-sheet);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 18px;background:#fff}.notification-dropdown-header strong{font-size:14px}.notification-dropdown-heading{display:flex;align-items:center;gap:8px}.notification-mark-all{border:none;background:none;cursor:pointer;font-size:11px;font-weight:700;color:#1763d9;padding:0}.notification-push-toggle{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid #dbe2ea;border-radius:10px;background:#f5f7fa;color:#98a2b3;cursor:pointer;transition:color .12s,border-color .12s,background .12s,transform .12s}.notification-push-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-push-toggle.is-active{border-color:#add1ff;background:#e0f0ff;color:#007aff}.notification-push-toggle:hover{transform:translateY(-1px)}.notification-push-toggle:disabled{opacity:.5;cursor:default}.notification-list{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;max-height:320px;padding:0 16px 12px;overflow-y:auto}.notification-empty{width:100%;padding:24px 16px;text-align:center;font-size:13px;color:var(--text-dim)}.notification-item{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:76px;text-align:left;padding:9px 10px 9px 12px;border:1px solid #e5ebf2;border-radius:10px;background:#fbfcff;cursor:pointer}.notification-item.unread{border-color:#bfdbff;background:#f0f7ff}.notification-item-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.notification-item-title{color:#141f33;font-size:11px;font-weight:700;line-height:17px}.notification-item-body{color:#52637d;font-size:10px;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-item-time{color:#7a8a9e;font-size:9px;line-height:17px}.notification-item-delete{flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:none;color:var(--text-dim);cursor:pointer}.notification-item-delete:hover{background:#00000014;color:var(--status-fail, #dc0000)}.login-shell{position:relative}.login-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;width:280px;padding:22px;border-radius:var(--radius-card);border:1px solid var(--glass-outline);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation))}.login-popover-title{margin:0 0 16px;font-size:16px;color:var(--text, #111)}.register-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;padding:clamp(18px,4vh,44px);background:#142f3f3d;backdrop-filter:blur(10px) saturate(.9);-webkit-backdrop-filter:blur(10px) saturate(.9);display:flex;align-items:center;justify-content:center;animation:report-backdrop-in .24s ease both}.register-modal-shell{position:relative;width:min(420px,100%);max-height:100%;overflow-y:auto;padding:32px;border-radius:var(--radius-panel);border:1px solid var(--border, rgba(255,255,255,.72));background:var(--bg-white, #fff);box-shadow:var(--shadow-sheet);animation:report-popup-in .3s cubic-bezier(.16,.92,.22,1) both}.register-modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--text-sub-2, #888);font-size:20px;line-height:1;cursor:pointer}.register-modal-close:hover{background:#0000000f}.main-page{--navy: #0b2d5a;--blue: #075fdc;--orange: #ef7414;--main-text: #3c4c63;--main-border: #d5e3f2;--main-bg: #f5f9fe;--main-shadow: 0 4px 16px rgba(31, 72, 126, .08);font-family:NanumSquare,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:var(--main-text);background:var(--main-bg);width:100%;height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column;box-sizing:border-box;padding:1.5vh 20px;gap:1.5vh}.main-page *{box-sizing:border-box}.main-page a{color:inherit;text-decoration:none}.main-page img{display:block;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.main-page .hero{flex:1.2;min-height:0;display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.2fr) minmax(200px,.8fr);gap:1.5vw;align-items:center;padding:0}.main-page .hero-copy h1{margin:0;font-size:clamp(22px,2.2vw,36px);font-weight:850;line-height:1.2;color:var(--navy);letter-spacing:-1px}.main-page .hero-copy h1 .orange{color:var(--orange)}.main-page .hero-copy p{margin:1vh 0 0;font-size:clamp(12px,1vw,15px);line-height:1.5;color:#465970}.main-page .hero-buttons{display:flex;gap:8px;margin-top:1.5vh}.main-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:clamp(38px,4.5vh,48px);padding:0 16px;border-radius:10px;font-size:clamp(12px,.9vw,14px);font-weight:700;cursor:pointer;transition:opacity .15s ease,transform .1s ease;white-space:nowrap}.main-page .btn:hover{opacity:.88}.main-page .btn:active{transform:scale(.98)}.main-page .btn-primary{background:var(--blue);color:#fff;border:none}.main-page .btn-outline{background:#fff;color:var(--blue);border:1px solid #b7d3f7}.main-page .hero-screenshot{height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;border:1px solid #cdddec;box-shadow:var(--main-shadow);background:#fff}.main-page .hero-screenshot img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.main-page .stat-cards{display:flex;flex-direction:column;gap:1vh;height:100%;justify-content:center}.main-page .stat-card{display:flex;align-items:center;gap:10px;padding:1vh 12px;border-radius:12px;background:#fff;border:1px solid var(--main-border);box-shadow:var(--main-shadow);flex:1;min-height:0}.main-page .stat-icon{flex:0 0 auto;width:clamp(32px,3vh,40px);height:clamp(32px,3vh,40px);border-radius:50%;display:grid;place-items:center;font-size:clamp(14px,1.5vh,18px);color:#fff}.main-page .stat-icon.blue{background:#1668e8}.main-page .stat-icon.green{background:#2fb37c}.main-page .stat-icon.purple{background:#7c5cf0}.main-page .stat-icon.orange{background:var(--orange)}.main-page .stat-label{font-size:clamp(11px,.8vw,12px);color:#6a7c93;white-space:nowrap}.main-page .stat-value{font-size:clamp(14px,1.1vw,18px);font-weight:800;color:#16233b;line-height:1.1}.main-page .stat-value small{font-size:11px;font-weight:600;color:#6a7c93;margin-left:3px}.main-page .split-section{flex:1.1;min-height:0;display:grid;grid-template-columns:1.6fr 1fr;gap:1.5vw;padding:0}.main-page .panel-box{background:#fff;border:1px solid var(--main-border);border-radius:16px;padding:1.5vh 20px;box-shadow:var(--main-shadow);display:flex;flex-direction:column;min-height:0;justify-content:center}.main-page .panel-box h2{margin:0 0 1vh;font-size:clamp(15px,1.1vw,18px);font-weight:800;color:var(--navy)}.main-page .feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1;min-height:0}.main-page .audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;flex:1;min-height:0}.main-page .feature-card,.main-page .audience-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:8px 6px;border-radius:10px;background:var(--main-bg);min-height:0}.main-page .card-icon{width:clamp(32px,3.5vh,44px);height:clamp(32px,3.5vh,44px);border-radius:10px;display:grid;place-items:center;font-size:clamp(16px,1.8vh,22px);background:#e7f0fd;color:#1668e8;flex-shrink:0}.main-page .feature-card h3{margin:0;font-size:clamp(11px,.85vw,13px);font-weight:800;color:#16233b;white-space:nowrap}.main-page .feature-card p{margin:0;font-size:clamp(10px,.75vw,11px);line-height:1.3;color:#5c6d84;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.main-page .audience-card .card-icon{background:#eef3fb;color:#24406e}.main-page .audience-card span{font-size:clamp(11px,.8vw,12px);font-weight:700;color:#1f3050;text-align:center}.main-page .process-section{flex:.9;min-height:0;display:grid;grid-template-columns:1.6fr 1fr;gap:1.5vw;padding:0}.main-page .process-steps{display:flex;align-items:center;justify-content:space-between;flex:1;min-height:0}.main-page .process-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;flex:1 1 0;min-height:0}.main-page .step-num{width:clamp(28px,3vh,34px);height:clamp(28px,3vh,34px);border-radius:50%;background:#1668e8;color:#fff;display:grid;place-items:center;font-weight:800;font-size:clamp(11px,1.2vh,13px);flex-shrink:0}.main-page .process-step h3{margin:0;font-size:clamp(11px,.85vw,13px);font-weight:800;color:#16233b;white-space:nowrap}.main-page .process-step p{margin:0;font-size:clamp(10px,.75vw,11px);color:#5c6d84;line-height:1.3}.main-page .process-arrow{font-size:16px;color:#9fb3cc;flex:0 0 auto;margin:0 2px}.main-page .cta-box{background:linear-gradient(135deg,#1668e8,#0b3f9e);border-radius:16px;padding:1.5vh 20px;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:1vh;min-height:0}.main-page .cta-box h2{margin:0;font-size:clamp(15px,1.2vw,19px);font-weight:800;line-height:1.3}.main-page .cta-box .btn-primary{background:#fff;color:var(--blue);align-self:flex-start}.intro-page{--navy: #0b2d5a;--blue: #075fdc;--orange: #ef7414;--intro-text: #3c4c63;--intro-border: #d5e3f2;--intro-bg: #f5f9fe;--intro-shadow: 0 10px 28px rgba(31, 72, 126, .12);font-family:NanumSquare,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:var(--intro-text);width:100%;height:100%;max-height:100%;overflow:hidden;box-sizing:border-box;background:radial-gradient(circle at 50% -8%,rgba(166,205,252,.28),transparent 35%),linear-gradient(180deg,#f9fbff 0%,var(--intro-bg) 100%);display:flex;flex-direction:column;padding:1.5vh 1.5vw;gap:1.2vh}.intro-page *{box-sizing:border-box}.intro-page a{color:inherit;text-decoration:none}.intro-page img{display:block}.intro-page .skip-link{position:absolute;z-index:1000;left:12px;top:12px;padding:8px 12px;border-radius:8px;color:#fff;background:#111;transform:translateY(-160%)}.intro-page .skip-link:focus{transform:none}.intro-page main#intro-main{display:flex;flex-direction:column;width:100%;height:100%;gap:1.2vh;min-height:0}.intro-page .intro{flex:0 0 auto}.intro-page .intro h1{margin:0;color:var(--navy);font-size:clamp(20px,2.2vw,36px);line-height:1.2;font-weight:850;letter-spacing:-1px}.intro-page .intro h1 .orange{color:var(--orange)}.intro-page .intro h1 .blue{color:var(--blue)}.intro-page .intro p{margin:.4vh 0 0;color:#465970;font-size:clamp(12px,.9vw,15px);line-height:1.4;font-weight:480}.intro-page .service-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(200px,.9fr) minmax(400px,3.2fr) minmax(200px,.9fr);gap:1vw;align-items:stretch}.intro-page .feature-column{height:100%;display:grid;grid-template-rows:repeat(4,1fr);gap:.8vh;min-height:0}.intro-page .feature-card{position:relative;min-height:0;display:flex;align-items:center;padding:.8vh 12px;border:1px solid var(--intro-border);border-radius:12px;background:#fffffffa;box-shadow:var(--intro-shadow)}.intro-page .number{flex:0 0 auto;width:clamp(24px,2.4vh,32px);height:clamp(24px,2.4vh,32px);margin-right:10px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#1668e8;font-size:clamp(12px,1.3vh,16px);line-height:1;font-weight:820}.intro-page .feature-copy{min-width:0;width:100%}.intro-page .feature-copy h2{margin:0 0 2px;color:#153763;font-size:clamp(11px,.85vw,14px);line-height:1.25;font-weight:800;letter-spacing:-.3px;white-space:nowrap}.intro-page .feature-copy p{margin:0;color:#42546b;font-size:clamp(10px,.7vw,12px);line-height:1.35;font-weight:470;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.intro-page .dashboard-card{height:100%;margin:0;padding:0;overflow:hidden;border:1px solid #cdddec;border-radius:8px;background:#fff;box-shadow:0 8px 24px #1a447a1a;display:flex;align-items:center;justify-content:center}.intro-page .dashboard-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.intro-page .tip-bar{flex:0 0 auto;height:clamp(48px,6vh,68px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:0 18px;border:1px solid var(--intro-border);border-radius:12px;background:#fffffffa;box-shadow:0 4px 16px #1f487e14}.intro-page .tip-label{display:flex;align-items:center;gap:8px;color:#1164e4}.intro-page .info-icon{width:clamp(22px,2.5vh,28px);height:clamp(22px,2.5vh,28px);border-radius:50%;display:grid;place-items:center;color:#fff;background:#1769e8;font-size:clamp(12px,1.4vh,15px);font-weight:800;font-style:normal}.intro-page .tip-label strong{font-size:clamp(13px,1vw,16px);font-weight:820}.intro-page .tip-bar p{margin:0;color:#465970;font-size:clamp(11px,.75vw,13px);line-height:1.4;font-weight:470;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intro-page .sample-button{height:clamp(34px,4vh,44px);padding:0 16px;border:1px solid #b7d3f7;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#0f63e6;background:#fff;font-size:clamp(12px,.85vw,14px);font-weight:780;white-space:nowrap;transition:opacity .16s ease}.intro-page .sample-button span{font-size:14px}.intro-page .sample-button:hover{opacity:.72}#report-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;padding:clamp(18px,4vh,44px) clamp(18px,4vw,64px);background:#142f3f3d;backdrop-filter:blur(10px) saturate(.9);-webkit-backdrop-filter:blur(10px) saturate(.9);display:flex;align-items:center;justify-content:center;animation:report-backdrop-in .24s ease both}@keyframes report-backdrop-in{0%{opacity:0}to{opacity:1}}.report-view-shell{width:min(1400px,100%);height:min(900px,100%);min-height:520px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--glass-border);border-radius:24px;background:var(--glass-panel-strong);box-shadow:0 28px 90px #142f3f4d;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:report-popup-in .34s cubic-bezier(.16,.92,.22,1) both;transition:width .3s cubic-bezier(.16,.92,.22,1),height .3s cubic-bezier(.16,.92,.22,1),border-radius .3s ease}@keyframes report-popup-in{0%{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}.report-view-shell.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;min-height:0;border:0;border-radius:0}#report-view-toolbar{flex:0 0 auto;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px 12px 20px;border-bottom:1px solid var(--glass-line);background:linear-gradient(120deg,#ffffffbd,#ffffff6b)}.report-view-heading{display:flex;align-items:center;gap:12px;min-width:0}.report-view-heading-icon{width:38px;height:38px;flex:0 0 auto;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:#007aff1c;border:1px solid rgba(0,122,255,.18)}.report-view-heading-icon svg,#report-view-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.report-view-kicker{display:block;margin-bottom:2px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.14em}#report-view-toolbar h2{font-size:16px;font-weight:900;color:var(--text);letter-spacing:-.02em}.report-view-subtitle{font-size:11px;color:var(--text-dim);margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}#report-view-actions{display:flex;align-items:center;gap:7px}#report-view-body{flex:1;display:flex;min-height:0;background:#f1f5f97a}#report-building-list{width:220px;flex:0 0 auto;overflow-y:auto;padding:14px 12px;border-right:1px solid var(--glass-line);background:#ffffff47;display:flex;flex-direction:column;gap:6px}.report-building-list-head{display:flex;align-items:center;justify-content:space-between;padding:3px 5px 9px;color:var(--text);font-size:12px}.report-building-list-head strong{font-weight:900}.report-building-list-head span{min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#007aff1a;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800}.report-building-item{width:100%;min-height:38px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-dim);font-family:var(--sans);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:9px;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .14s ease}.report-building-item:hover{background:#ffffff8f;color:var(--text);transform:translate(2px)}.report-building-item.selected{background:#007aff1f;border-color:#007aff4d;color:var(--accent);font-weight:800}.report-building-index{font-family:var(--mono);font-size:9.5px;opacity:.62}.report-empty{padding:10px;font-size:12px;color:var(--text-dim)}.report-table-wrap{overflow-x:auto;max-height:420px;overflow-y:auto}.report-profitability-table{width:100%;min-width:620px;border-collapse:collapse;font-size:11px}.report-profitability-table th,.report-profitability-table td{text-align:right;padding:5px 8px;white-space:nowrap}.report-profitability-table th:first-child,.report-profitability-table td:first-child{text-align:left}.report-profitability-table thead th{position:sticky;top:0;background:var(--surface-default);color:var(--text-secondary);font-weight:800;border-bottom:1px solid var(--glass-border)}.report-profitability-table tbody td{color:var(--text-primary);border-bottom:1px solid rgba(20,47,63,.06)}.report-profitability-table tr.is-profitable td{color:#0a8a5c;font-weight:900}#report-content{flex:1;min-width:0;overflow-y:auto;padding:18px;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px}.report-card{min-width:0;background:#ffffffa8;border:1px solid var(--glass-border);border-radius:16px;padding:16px;box-shadow:var(--glass-shadow-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.report-card:first-child{grid-column:auto}.report-card h3{font-size:13px;font-weight:900;color:var(--text);margin-bottom:11px}.report-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.report-card-head h3{margin-bottom:0}.report-card-caption{font-size:10.5px;color:var(--text-dim)}.report-card-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.report-chart-unit{padding:4px 8px;border-radius:999px;background:#007aff17;color:var(--accent);font-size:9.5px;font-weight:800;white-space:nowrap}.report-scene-wrap{position:relative;height:380px;border-radius:12px;overflow:hidden;background:linear-gradient(145deg,#eef4fa,#f8fafc);border:1px solid rgba(20,47,63,.07)}.report-scene-canvas{width:100%;height:100%}.report-scene-print-snapshot{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.report-scene-compass{position:absolute;top:10px;right:10px;z-index:5;width:46px;height:46px;border-radius:12px;background:#ffffffc2;border:1px solid var(--glass-border);box-shadow:0 5px 16px #142f3f1a;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.report-scene-compass-needle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;transform-origin:center}.report-scene-compass svg{width:100%;height:100%;display:block}.report-chart-wrap{height:250px}.report-chart-wrap.tall{height:285px}.report-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.report-stat-caption{font-size:9.5px;color:var(--text-dim);opacity:.8}.report-stat-count{font-size:9.5px;color:var(--text-dim);margin-left:4px}.report-stat-card{padding:12px 14px;border-radius:12px;background:#142f3f0b;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(20,47,63,.045)}.report-stat-card.gold{background:linear-gradient(135deg,#ffb80029,#ffe69c6b)}.report-stat-card.blue{background:linear-gradient(135deg,#007aff1f,#9ec5fe57)}.report-stat-label{font-size:10.5px;color:var(--text-dim)}.report-stat-value{font-size:19px;font-weight:900;color:var(--text)}@media(max-width:900px){#report-view{padding:12px}.report-view-shell{border-radius:18px}#report-building-list{width:176px}#report-content{grid-template-columns:1fr;padding:12px;gap:12px}.report-card:first-child{grid-column:auto}#report-view-actions span{display:none}}#report-view.is-print-preparing{position:fixed!important;inset:0 auto auto 0!important;width:198mm!important;height:285mm!important;padding:0!important;opacity:0!important;pointer-events:none!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important;align-items:stretch!important;justify-content:flex-start!important}#report-view.is-print-preparing .report-view-shell,#report-view.is-print-preparing .report-view-shell.is-fullscreen{position:static!important;width:198mm!important;height:285mm!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;animation:none!important;background:#fff!important}#report-view.is-print-preparing #report-view-toolbar{min-height:17mm;height:17mm;padding:2mm 4mm;background:#fff!important;border-bottom:.3mm solid #dfe6ee}#report-view.is-print-preparing .report-view-heading-icon{width:9mm;height:9mm;border-radius:2.5mm}#report-view.is-print-preparing #report-view-toolbar h2{font-size:11pt}#report-view.is-print-preparing .report-view-kicker{font-size:6pt}#report-view.is-print-preparing .report-view-subtitle{margin-top:.8mm;gap:2mm;font-size:7pt}#report-view.is-print-preparing #report-view-actions,#report-view.is-print-preparing #report-building-list{display:none!important}#report-view.is-print-preparing #report-view-body{display:block!important;min-height:0!important;height:268mm!important;background:#fff!important}#report-view.is-print-preparing #report-content{width:100%!important;height:268mm!important;overflow:hidden!important;padding:3mm!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:70mm 54mm 89mm 40mm!important;gap:3mm!important;background:#fff!important}#report-view.is-print-preparing .report-card,#report-view.is-print-preparing .report-card:first-child{grid-column:auto!important;grid-row:auto!important;min-height:0!important;overflow:hidden!important;padding:3mm!important;border-radius:3mm!important;border-color:#dce4eb!important;background:#f8fafc!important;box-shadow:none!important;display:flex!important;flex-direction:column!important}#report-view.is-print-preparing .report-card>h3,#report-view.is-print-preparing .report-card-head,#report-view.is-print-preparing .report-stat-grid{flex:0 0 auto}#report-view.is-print-preparing .report-scene-wrap,#report-view.is-print-preparing .report-chart-wrap,#report-view.is-print-preparing .report-chart-wrap.tall{flex:1 1 auto!important;min-height:0!important;height:auto!important}#report-view.is-print-preparing .report-chart-wrap{display:flex!important;align-items:center!important;justify-content:center!important}#report-view.is-print-preparing .report-chart-wrap .recharts-responsive-container{flex:0 0 auto!important;min-width:0!important;min-height:0!important}#report-view.is-print-preparing .recharts-tooltip-wrapper{display:none!important}#report-view.is-print-preparing .report-card:nth-child(4) .report-stat-grid{flex:1 1 auto;min-height:0;margin-bottom:0}#report-view.is-print-preparing .report-card:nth-child(4) .report-stat-card{min-height:0;overflow:hidden}#report-view.is-print-preparing .report-card h3{margin-bottom:2mm;font-size:8.5pt}#report-view.is-print-preparing .report-card-head{margin-bottom:2mm}#report-view.is-print-preparing .report-card-caption,#report-view.is-print-preparing .report-stat-label{font-size:6.5pt}#report-view.is-print-preparing .report-chart-unit{padding:1mm 2mm;font-size:6pt}#report-view.is-print-preparing .report-scene-wrap{border-radius:2mm}#report-view.is-print-preparing.has-scene-snapshot .report-scene-canvas{display:none!important}#report-view.is-print-preparing.has-scene-snapshot .report-scene-print-snapshot{display:block!important}#report-view.is-print-preparing .report-stat-grid{gap:2mm;margin-bottom:2mm}#report-view.is-print-preparing .report-stat-card{padding:2mm 2.5mm;gap:1mm;border-radius:2mm}#report-view.is-print-preparing .report-stat-value{font-size:10pt}#report-view.is-print-preparing .report-stat-caption,#report-view.is-print-preparing .report-stat-count{font-size:6pt}.mobile-map-shell{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#e8f0f5;isolation:isolate}.mobile-map-shell #map-wrap{top:0;right:0;bottom:0;left:0}.mobile-map-shell #hint,.mobile-map-shell .scene-toolbar-shell{display:none}.mobile-map-topbar{position:absolute;top:max(20px,env(safe-area-inset-top));left:16px;right:16px;z-index:70;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.mobile-brand-logo{display:block;width:124px;height:36px;-o-object-fit:contain;object-fit:contain;-o-object-position:left center;object-position:left center}.mobile-auth{pointer-events:auto}.login-modal-shell{width:min(360px,100%)}.login-modal-content{width:100%}#mobile-map-controls{position:absolute;top:clamp(230px,30dvh,300px);right:16px;z-index:48;display:flex;flex-direction:column;align-items:center;gap:4px;width:48px;padding:6px 4px;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-floating);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation))}.mobile-map-shell .heatmap-floating-legend{top:72px;right:16px;bottom:auto;left:16px;z-index:62;width:auto;transform:none;flex-direction:column;align-items:stretch;gap:6px}.mobile-map-shell .heatmap-legend-item{position:relative;width:100%;height:47px;min-height:47px;padding:0;gap:0;overflow:hidden;border-color:var(--glass-outline);border-radius:15px;background:var(--surface-floating);box-shadow:var(--shadow-soft);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-map-shell .heatmap-legend-head{display:block}.mobile-map-shell .heatmap-legend-kind{position:absolute;top:9px;left:8px;width:54px;height:27px;padding:0 6px;justify-content:center;gap:3px;border-radius:999px;font-size:10px}.mobile-map-shell .heatmap-legend-kind svg{width:14px;height:14px;flex:0 0 14px}.mobile-map-shell .heatmap-legend-metric{position:absolute;top:3px;left:69px;font-size:8.5px}.mobile-map-shell .heatmap-legend-metric em{font-size:8px}.mobile-map-shell .heatmap-legend-bar{position:absolute;top:18px;right:11px;left:69px;width:auto;height:7px;border:0;border-radius:999px}.mobile-map-shell .heatmap-legend-values{position:absolute;top:29px;right:11px;left:69px;color:#667489;font-size:8px}.mobile-map-shell .heatmap-legend-values .is-min,.mobile-map-shell .heatmap-legend-values .is-max{color:#242b3b;font-size:8.5px}#mobile-map-controls>button{width:40px;height:46px;min-width:40px;padding:9px;border:0;border-radius:20px;background:transparent;box-shadow:none}#mobile-map-controls>button:hover,#mobile-map-controls>button:active{background:#1f73fa1a}#mobile-map-controls>button[aria-pressed=true]{background:#1f73fa;color:#fff;box-shadow:0 5px 14px #1f73fa47}#mobile-map-controls>button[aria-pressed=true]:hover,#mobile-map-controls>button[aria-pressed=true]:active{background:#1768e2}#mobile-map-controls img,#mobile-map-controls svg{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;transition:transform .3s ease}.mobile-bottom-header{position:absolute;z-index:70;left:12px;right:12px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 10px));display:flex;align-items:center;height:56px;overflow:visible;border:1px solid var(--border-glass);border-radius:var(--radius-floating);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-surface)) saturate(1.16);-webkit-backdrop-filter:blur(var(--blur-surface)) saturate(1.16);touch-action:pan-x;transition:transform .36s cubic-bezier(.18,.86,.22,1),opacity var(--motion-standard);will-change:transform}.mobile-bottom-header.is-dragging{transition:none}.mobile-bottom-header.is-hidden{transform:translateY(calc(100% + max(32px,env(safe-area-inset-bottom))))!important;opacity:0;pointer-events:none}.mobile-bottom-restore{position:absolute;z-index:69;bottom:max(4px,env(safe-area-inset-bottom));left:50%;width:58px;height:22px;padding:0;transform:translate(-50%);border:1px solid rgba(255,255,255,.92);border-bottom:0;border-radius:14px 14px 0 0;background:#ffffffd1;color:#526077;box-shadow:0 -5px 16px #0a172e1f;font-size:16px;line-height:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:mobile-bottom-restore-in .25s ease both}.mobile-menu-trigger,.mobile-search-icon,.mobile-voice-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer}.mobile-menu-trigger{flex:0 0 55px;width:55px;height:56px;padding:16px;border-radius:28px 0 0 28px}.mobile-menu-trigger img{display:block;width:24px;height:24px}.mobile-bottom-divider{flex:0 0 1px;width:1px;height:32px;background:#b8c2d18c}.mobile-bottom-header #search-box{flex:1 1 auto;min-width:0}.mobile-search-box .search-row{height:54px;gap:0;align-items:center}.mobile-search-box .mobile-search-launch{display:flex;flex:1 1 auto;min-width:0;height:54px;align-items:center;gap:12px;padding:0 4px 0 16px;border:0;background:transparent;color:#364052;font:inherit;text-align:left;cursor:pointer}.mobile-search-box .mobile-search-launch img{display:block;width:20px;height:20px;flex:0 0 20px}.mobile-search-box .mobile-search-launch span{min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.mobile-search-box .mobile-voice-icon{flex:0 0 52px;width:52px;height:54px;padding:17px 16px}.mobile-search-box .mobile-voice-icon img{display:block;width:20px;height:20px}.mobile-search-box .mobile-voice-icon:disabled{opacity:1;cursor:default}.mobile-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;overflow:hidden;background:#f0f7ffad;color:#242b3b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:mobile-search-overlay-in .2s ease-out both}.mobile-search-focused-bar{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 48px;width:calc(100% - 32px);height:58px;margin:max(70px,calc(env(safe-area-inset-top) + 18px)) 16px 0;align-items:center;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-floating);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}.mobile-search-focused-bar button,.mobile-search-focused-bar input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:transparent;font:inherit}.mobile-search-back,.mobile-search-cancel{height:100%;color:#1f73fa;font-weight:700;cursor:pointer}.mobile-search-back{padding:0 0 2px;font-size:18px}.mobile-search-cancel{padding:0 12px 0 0;font-size:12px;white-space:nowrap}.mobile-search-focused-bar input{min-width:0;width:100%;height:100%;padding:0 8px;color:#242b3b;font-size:14px}.mobile-search-focused-bar input::-webkit-search-cancel-button{display:none}.mobile-search-panel{width:calc(100% - 32px);max-height:min(50dvh,422px);margin:16px 16px 0;padding:16px;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-panel);background:var(--surface-floating);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.mobile-search-panel-heading{display:flex;height:23px;align-items:center;justify-content:space-between;margin-bottom:16px}.mobile-search-panel-heading h2{margin:0;color:#242b3b;font-size:16px;font-weight:700}.mobile-search-panel-heading button,.mobile-search-panel-heading span{border:0;background:transparent;color:#6b758a;font-size:11px}.mobile-search-panel-heading button{padding:6px 0 6px 12px;cursor:pointer}.mobile-search-list{display:flex;max-height:calc(min(50dvh,422px) - 71px);flex-direction:column;gap:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.mobile-search-list::-webkit-scrollbar{display:none}.mobile-history-row,.mobile-result-row{position:relative;flex:0 0 66px;min-height:66px;overflow:hidden;border:1px solid #dbe0eb;border-radius:16px;background:#fafcffe6}.mobile-history-row{display:flex;align-items:stretch}.mobile-history-select,.mobile-result-row{display:flex;min-width:0;align-items:center;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.mobile-history-select{flex:1 1 auto;gap:12px;padding:0 8px 0 12px;background:transparent}.mobile-history-icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border-radius:50%;background:#e5edf7;color:#6b758a;font-size:16px}.mobile-history-remove{width:42px;flex:0 0 42px;border:0;background:transparent;color:#858fa1;font-size:19px;cursor:pointer}.mobile-result-row{width:100%;gap:10px;padding:0 12px}.mobile-result-row.is-primary{border:1px solid #4d9eff;background:#e8f5ffe6}.mobile-result-type{display:grid;width:36px;height:22px;flex:0 0 36px;place-items:center;border-radius:11px;background:#e5edf7;color:#6b758a;font-size:9px;font-weight:700}.mobile-result-row.is-primary .mobile-result-type{background:#1f73fa;color:#fff}.mobile-search-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:6px}.mobile-search-copy strong,.mobile-search-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-search-copy strong{color:#242b3b;font-size:13px;font-weight:700}.mobile-search-copy small{color:#6b758a;font-size:10px;font-weight:400}.mobile-result-chevron{flex:0 0 auto;color:#858fa1;font-size:19px}.mobile-search-status{margin:0;padding:34px 12px;color:#6b758a;font-size:12px;text-align:center}@keyframes mobile-search-overlay-in{0%{opacity:0}to{opacity:1}}.mobile-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;background:#101c300d}.mobile-main-menu-sheet{position:relative;width:100%;min-height:228px;padding:34px 20px max(26px,calc(env(safe-area-inset-bottom) + 14px));border:1px solid var(--glass-outline);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));animation:mobile-sheet-in .34s cubic-bezier(.18,.86,.22,1);transform:translateY(var(--mobile-sheet-drag-y, 0));touch-action:pan-y;transition:transform .34s cubic-bezier(.18,.86,.22,1);will-change:transform}.mobile-main-menu-sheet.is-swipe-dragging{transition:none}.mobile-main-menu-sheet>.mobile-sheet-grabber{touch-action:none;cursor:grab}.mobile-main-menu-sheet>.mobile-sheet-grabber:before{position:absolute;top:-12px;right:-30px;bottom:-12px;left:-30px;content:""}.mobile-sheet-grabber{position:absolute;top:11px;left:50%;width:38px;height:5px;padding:0;transform:translate(-50%);border:0;border-radius:3px;background:#a8b2c2}.mobile-main-menu-sheet h2{margin:0;color:#242b3b;font-size:20px;font-weight:900}.mobile-main-menu-sheet>p{margin:5px 0 17px;color:#667085;font-size:12px}.mobile-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mobile-menu-card{display:flex;min-width:0;height:96px;padding:13px 10px;flex-direction:column;align-items:flex-start;border:1px solid #ccd6e5;border-radius:20px;background:#ffffffeb;color:#242b3b;text-align:left;text-decoration:none}.mobile-menu-card strong{height:28px;color:#1f73fa;font-size:20px;line-height:1}.mobile-menu-card b{font-size:15px;font-weight:900}.mobile-menu-card span{margin-top:5px;color:#6b758a;font-size:10px}.mobile-menu-card.primary{border-color:#1f73fa;background:#1f73fa;color:#fff}.mobile-menu-card.primary strong{color:#fff}.mobile-menu-card.primary span{color:#dbedff}.mobile-menu-card.admin{border-color:#7a5cf2b3;background:#f5f0fff0;color:#40337a}.mobile-menu-card.admin b{color:#40337a}.mobile-menu-card.admin span{color:#7a5cf2;font-weight:700}.mobile-menu-card-icon{width:24px;height:24px;margin-bottom:4px}.mobile-building-sheet,.mobile-analysis-summary{position:absolute;right:0;bottom:0;left:0;z-index:76;padding:34px 20px max(20px,calc(env(safe-area-inset-bottom) + 12px));border:1px solid var(--glass-outline);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));animation:mobile-sheet-in .34s cubic-bezier(.18,.86,.22,1)}.mobile-building-sheet,.mobile-catalog-sheet,.mobile-analysis-summary{transform:translateY(var(--mobile-sheet-drag-y, 0));touch-action:pan-y;transition:transform .34s cubic-bezier(.18,.86,.22,1);will-change:transform}.mobile-building-sheet>.mobile-sheet-grabber,.mobile-catalog-sheet>.mobile-sheet-grabber,.mobile-analysis-summary>.mobile-sheet-grabber{touch-action:none;cursor:grab}.mobile-building-sheet>.mobile-sheet-grabber:before,.mobile-catalog-sheet>.mobile-sheet-grabber:before,.mobile-analysis-summary>.mobile-sheet-grabber:before{position:absolute;top:-12px;right:-30px;bottom:-12px;left:-30px;content:""}.mobile-building-sheet.is-swipe-dragging,.mobile-catalog-sheet.is-swipe-dragging,.mobile-analysis-summary.is-swipe-dragging{transition:none}.mobile-building-sheet{display:flex;flex-direction:column;max-height:52dvh;transition:max-height .36s cubic-bezier(.18,.86,.22,1),transform .34s cubic-bezier(.18,.86,.22,1)}.mobile-building-sheet.is-expanded{max-height:76dvh}.mobile-building-sheet header h2,.mobile-analysis-summary header h2{margin:0;color:#242b3b;font-size:20px;font-weight:900}.mobile-building-sheet header p,.mobile-analysis-summary header p{margin:5px 0 14px;color:#616e82;font-size:12px}.mobile-building-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-building-header>span{min-width:0}.mobile-building-header>button{min-width:76px;height:34px;padding:0 12px;border:1px solid rgba(31,115,250,.34);border-radius:12px;background:#ffffffb3;color:#1f73fa;font:inherit;font-size:11px;font-weight:900}.mobile-building-header>button:disabled{opacity:.4}.mobile-building-list{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.mobile-building-list::-webkit-scrollbar{display:none}.mobile-building-row{display:flex;min-height:62px;flex:0 0 62px;align-items:center;gap:12px;padding:0 13px;border:1px solid rgba(209,217,229,.8);border-radius:16px;background:#ffffffe6;color:#242b3b;text-align:left}.mobile-building-row.is-selected{border-color:#4d9effcc;background:#e8f5ffe6}.mobile-building-check{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid #a6b0bf;border-radius:6px;background:#fff;color:#fff;font-size:14px;font-weight:700}.mobile-building-row.is-selected .mobile-building-check{border-color:#1f73fa;background:#1f73fa}.mobile-building-row.is-radio .mobile-building-check{border-radius:50%;font-size:10px}.mobile-building-row.is-radio.is-selected .mobile-building-check{background:#fff;color:#1f73fa}.mobile-building-copy{display:flex;min-width:0;flex-direction:column;gap:6px}.mobile-building-copy strong,.mobile-building-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-building-copy strong{font-size:13px}.mobile-building-copy small{color:#6b758a;font-size:11px}.mobile-building-count{display:block;margin:13px 0;color:#1f73fa;font-size:12px}.mobile-building-actions{display:grid;grid-template-columns:1fr;gap:14px}.mobile-building-actions button,.mobile-start-analysis,.mobile-catalog-apply{height:52px;border:1px solid transparent;border-radius:17px;font:inherit;font-size:14px;font-weight:800}.mobile-building-actions .is-primary,.mobile-start-analysis,.mobile-catalog-apply{background:#1f73fa;color:#fff}.mobile-building-actions .is-outline{border-color:#1f73fa;background:#ffffffeb;color:#1f73fa}.mobile-building-actions button:disabled,.mobile-start-analysis:disabled,.mobile-catalog-apply:disabled{border-color:transparent;background:#dbe0eb;color:#858fa1;box-shadow:none}.mobile-flow-note{margin:12px 0 0;color:#6b758a;font-size:11px;text-align:center}.mobile-flow-note.is-ready{color:#298559}.mobile-catalog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0d172940;transition:background .28s ease,backdrop-filter .28s ease}.mobile-catalog-scrim.is-search-focused{background:#e1ecf98f;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.mobile-catalog-sheet{position:absolute;right:0;bottom:0;left:0;height:min(86dvh,724px);padding:34px 20px max(20px,calc(env(safe-area-inset-bottom) + 12px));overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));animation:mobile-sheet-in .34s cubic-bezier(.18,.86,.22,1)}.mobile-catalog-sheet.is-search-focused{height:calc(100dvh - max(24px,env(safe-area-inset-top)))}.mobile-catalog-sheet>header{display:flex;align-items:center;justify-content:space-between}.mobile-catalog-sheet>header h2{margin:0;color:#242b3b;font-size:20px;font-weight:900}.mobile-catalog-sheet>header button{width:38px;height:38px;border:0;background:transparent;color:#596375;font-size:25px}.mobile-catalog-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:13px}.mobile-catalog-selection>button{display:grid;min-width:0;height:76px;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:8px;padding:10px;border:1px solid #d5deea;border-radius:17px;background:#ffffffbd;color:#68758a;text-align:left}.mobile-catalog-selection>button.is-selected{border-color:#4d9eff;background:#e8f5ff;color:#1f73fa}.mobile-catalog-side-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;background:#edf2fa;font-size:19px;font-style:normal;font-weight:900}.mobile-catalog-selection>button.is-selected .mobile-catalog-side-icon{background:#1f73fa1f}.mobile-catalog-selection>button>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:6px}.mobile-catalog-selection small,.mobile-catalog-selection strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-catalog-selection small{color:#657287;font-size:9px;font-weight:800}.mobile-catalog-selection strong{color:#273247;font-size:11px;font-weight:900}.mobile-catalog-selection i{font-size:13px;font-style:normal;font-weight:900;text-align:center}.mobile-catalog-search{display:flex;height:48px;margin-top:14px;align-items:center;gap:11px;padding:0 14px;border:1px solid #ccd6e5;border-radius:16px;background:#edf2fa;color:#616e82}.mobile-catalog-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#242b3b;font:inherit;font-size:13px}.mobile-catalog-filters{display:flex;gap:8px;margin-top:16px}.mobile-catalog-filters button{min-width:72px;height:38px;padding:0 20px;border:0;border-radius:19px;background:#edf2fa;color:#596378;font:inherit;font-size:12px;font-weight:800}.mobile-catalog-filters button.is-active{background:#1f73fa;color:#fff}.mobile-catalog-sheet>h3{margin:20px 0 10px;color:#596378;font-size:13px}.mobile-catalog-sheet>h3 small{margin-left:7px;color:#8a95a7;font-size:9px;font-weight:700}.mobile-catalog-list{display:flex;height:calc(100% - 324px);flex-direction:column;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding-bottom:66px;scrollbar-width:none}.mobile-catalog-list::-webkit-scrollbar{display:none}.mobile-catalog-item{display:flex;flex:0 0 auto;flex-direction:column;overflow:hidden;border:1px solid #d1d9e5;border-radius:18px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.mobile-catalog-item.is-pending{border-color:#4094ff;box-shadow:0 8px 20px #1f73fa1a}.mobile-catalog-card{display:flex;width:100%;min-height:104px;align-items:center;gap:13px;padding:13px;border:0;border-radius:17px;background:#fff;color:#242b3b;text-align:left;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-catalog-card *{-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-catalog-card img,.mobile-catalog-card svg{pointer-events:none;-webkit-user-drag:none}.mobile-catalog-card.is-selected{background:#e8f5ff}.mobile-catalog-card.is-pending{border-radius:17px 17px 0 0}.mobile-catalog-image{display:grid;width:68px;height:68px;flex:0 0 68px;overflow:hidden;place-items:center;border-radius:14px;background:#dbe5f2;color:#40577a}.mobile-catalog-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:5px}.mobile-catalog-copy small{color:#1f73fa;font-size:11px;font-weight:800}.mobile-catalog-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.mobile-catalog-copy span{color:#6b758a;font-size:11px}.mobile-catalog-targets{display:flex;max-width:58px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:4px}.mobile-catalog-targets em{padding:4px 7px;border-radius:999px;background:#1f73fa;color:#fff;font-size:9px;font-style:normal;font-weight:900;white-space:nowrap}.mobile-catalog-targets i{color:#7b8799;font-size:24px;font-style:normal;line-height:1}.mobile-catalog-placement{padding:12px 13px 13px;border-top:1px solid rgba(64,148,255,.22);background:#f2f8ff;animation:mobile-catalog-placement-in .22s ease-out both}.mobile-catalog-placement.is-card{display:flex;min-height:104px;justify-content:center;flex-direction:column;border-top:0;border-radius:17px}.mobile-catalog-placement>strong{display:block;margin-bottom:9px;color:#3c4b61;font-size:11px;font-weight:900}.mobile-catalog-placement>span{margin:-5px 0 10px;color:#7a8799;font-size:10px;font-weight:700}.mobile-catalog-placement>div{display:grid;grid-template-columns:1fr 1fr auto;gap:7px}.mobile-catalog-placement button{height:40px;padding:0 12px;border:1px solid #4094ff;border-radius:12px;background:#fff;color:#1764d8;font:inherit;font-size:11px;font-weight:900}.mobile-catalog-placement button.is-cancel{border-color:transparent;background:transparent;color:#758196}@keyframes mobile-catalog-placement-in{0%{max-height:0;transform:translateY(-6px);opacity:0}to{max-height:80px;transform:translateY(0);opacity:1}}.mobile-catalog-detail-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:flex-end;justify-content:center;padding:20px 16px max(18px,calc(env(safe-area-inset-bottom) + 10px))}.mobile-catalog-detail-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:#0d192b52;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.mobile-catalog-detail-card{position:relative;display:flex;width:min(100%,430px);max-height:min(78dvh,660px);flex-direction:column;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-sheet);background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);animation:mobile-catalog-detail-in .28s cubic-bezier(.18,.86,.22,1) both;touch-action:pan-y;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-catalog-detail-card *{-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-catalog-detail-card img,.mobile-catalog-detail-card svg{pointer-events:none;-webkit-user-drag:none}.mobile-catalog-detail-card>header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:14px;padding:17px 17px 13px;border-bottom:1px solid rgba(209,217,229,.72)}.mobile-catalog-detail-card>header>span{display:flex;min-width:0;flex-direction:column;gap:4px}.mobile-catalog-detail-card>header small{color:#1f73fa;font-size:10px;font-weight:900}.mobile-catalog-detail-card>header strong{overflow:hidden;color:#222c3d;font-size:16px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-catalog-detail-card>header button{width:36px;height:36px;flex:0 0 36px;padding:0;border:1px solid #d7deea;border-radius:12px;background:#fffc;color:#647087;font-size:23px}.mobile-catalog-detail-body{min-height:0;padding:14px 17px;overflow-y:auto;overscroll-behavior:contain}.mobile-catalog-detail-image{width:100%!important;margin-bottom:13px;border:1px solid #d9e1ec!important;border-radius:16px!important;background:#fff!important}.mobile-catalog-detail-actions{display:grid;flex:0 0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 17px 17px;border-top:1px solid rgba(209,217,229,.72);background:#f9fcfffa}.mobile-catalog-detail-actions button{height:48px;border:1px solid #2f83fb;border-radius:15px;background:#fff;color:#1764d8;font:inherit;font-size:12px;font-weight:900}.mobile-catalog-detail-actions button:first-child,.mobile-catalog-detail-actions button.is-wide{background:#1f73fa;color:#fff}.mobile-catalog-detail-actions button.is-wide{grid-column:1 / -1}@keyframes mobile-catalog-detail-in{0%{transform:translateY(28px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.mobile-catalog-status{color:#6b758a;font-size:12px;text-align:center}.mobile-catalog-apply{position:absolute;right:20px;bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));left:20px;width:calc(100% - 40px)}.mobile-analysis-summary{max-height:82dvh;overflow-y:auto}.mobile-analysis-summary .job-name-row{margin-bottom:12px}.mobile-analysis-summary .bipv-cards-row{margin-bottom:4px}.mobile-analysis-metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mobile-analysis-metrics>div{display:flex;min-width:0;height:76px;padding:12px 14px;flex-direction:column;gap:9px;border-radius:20px;background:#f0f5fa}.mobile-analysis-metrics span{color:#637385;font-size:11px}.mobile-analysis-metrics strong{overflow:hidden;color:#111;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.mobile-analysis-quick-actions{display:grid;grid-template-columns:1fr 1.06fr 1.13fr;gap:6px;margin-top:12px}.mobile-analysis-quick-actions button{height:40px;border:1px solid #d6dee5;border-radius:15px;background:#f5f7fa;color:#47576b;font:inherit;font-size:11px;font-weight:800}.mobile-analysis-quick-actions button.is-active{border-color:#2e7dfa;background:#e0f0ff;color:#1a61d1}.mobile-start-analysis{width:100%;height:54px;margin-top:10px;border-radius:18px;font-size:15px}.mobile-job-history-sheet{position:absolute;right:0;bottom:0;left:0;z-index:78;display:flex;height:min(66dvh,558px);padding:34px 20px max(18px,calc(env(safe-area-inset-bottom) + 10px));flex-direction:column;overflow:hidden;border:1px solid var(--glass-outline);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));transform:translateY(var(--mobile-sheet-drag-y, 0));touch-action:pan-y;transition:transform .34s cubic-bezier(.18,.86,.22,1);animation:mobile-sheet-in .34s cubic-bezier(.18,.86,.22,1);will-change:transform}.mobile-job-history-sheet.is-swipe-dragging{transition:none}.mobile-job-history-sheet>.mobile-sheet-grabber{touch-action:none;cursor:grab}.mobile-job-history-sheet>.mobile-sheet-grabber:before{position:absolute;top:-12px;right:-30px;bottom:-12px;left:-30px;content:""}.mobile-job-history-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between}.mobile-job-history-header h2{margin:0;color:#242b3b;font-size:20px;font-weight:900}.mobile-job-history-header p{margin:5px 0 0;color:#616e82;font-size:12px}.mobile-job-history-header>button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid rgba(209,217,229,.8);border-radius:13px;background:#ffffffc2;color:#1f73fa;font:inherit;font-size:20px;font-weight:900}.mobile-joblist-content{display:flex;min-height:0;margin:13px -2px 0;flex:1 1 auto;flex-direction:column;overflow:hidden}.mobile-joblist-content #joblist-body{padding:0 2px}.mobile-joblist-content .joblist-page-list{display:flex;min-height:0;flex-direction:column;gap:9px;touch-action:pan-y}.mobile-joblist-content .joblist-item{height:92px;min-height:92px;max-height:92px;margin:0;padding:13px 14px;border-color:#d1d9e5d1;border-radius:17px;background:#ffffffe0;box-shadow:0 5px 14px #1e314c0f}.mobile-joblist-content .joblist-item.demo{height:auto;min-height:92px;max-height:none}.mobile-joblist-content .joblist-item.clickable:active{transform:scale(.985)}.mobile-joblist-content .joblist-item-title{font-size:13px;font-weight:900}.mobile-joblist-content .joblist-item-meta{max-height:34px;margin-top:9px;color:#6b758a;font-family:var(--sans);font-size:10.5px;line-height:1.55}.mobile-joblist-content .joblist-more-button{width:30px;height:30px;border-radius:10px}.mobile-joblist-content .joblist-item.pending,.mobile-joblist-content .joblist-item.error{opacity:1}.mobile-joblist-content .joblist-card-loading{margin-top:8px}.mobile-job-pagination{display:flex;max-width:100%;min-height:28px;flex:0 0 28px;align-items:center;justify-content:center;gap:8px;overflow-x:auto;padding:8px 4px 2px;scrollbar-width:none}.mobile-job-pagination::-webkit-scrollbar{display:none}.mobile-job-pagination button{width:7px;height:7px;min-width:7px;padding:0;border:0;border-radius:999px;background:#b7c0ce;transition:width .2s ease,background .2s ease}.mobile-job-pagination button.is-active{width:20px;background:#1f73fa}.mobile-tools-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:88;pointer-events:none}.mobile-tools-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;background:#14263f14;opacity:1;pointer-events:auto;transition:background .28s ease,backdrop-filter .28s ease}.mobile-tools-layer.is-capacity-focused .mobile-tools-scrim{background:#e1ecf98a;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.mobile-tools-sheet{position:absolute;right:0;bottom:0;left:0;z-index:1;height:340px;overflow:hidden;padding:29px 20px max(20px,env(safe-area-inset-bottom));border:1px solid var(--glass-outline);border-bottom:0;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface-glass-sheet);box-shadow:var(--shadow-sheet);backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-sheet)) saturate(var(--glass-saturation));pointer-events:auto;transform:translateY(var(--mobile-sheet-drag-y, 0));touch-action:pan-y;transition:height .38s cubic-bezier(.18,.86,.22,1),transform .38s cubic-bezier(.18,.86,.22,1);animation:mobile-sheet-in .34s cubic-bezier(.18,.86,.22,1) both}.mobile-tools-sheet.is-swipe-dragging{transition:none}.mobile-tools-grabber{touch-action:none;cursor:grab}.mobile-tools-grabber:before{position:absolute;top:-12px;right:-36px;bottom:-12px;left:-36px;content:""}.mobile-tools-sheet.has-capacity{height:min(510px,calc(100dvh - 26px))}.mobile-tools-sheet.is-capacity-focused{height:min(600px,calc(100dvh - max(60px,env(safe-area-inset-top))))}.mobile-tools-grabber{position:absolute;top:10px;left:50%;width:42px;height:5px;transform:translate(-50%);border-radius:999px;background:#c8d0db}.mobile-tools-header{display:flex;align-items:center;gap:13px;height:48px}.mobile-tools-header>span{padding-left:2px}.mobile-tools-back{display:grid;width:42px;height:42px;flex:0 0 42px;padding:0 2px 3px 0;place-items:center;border:0;border-radius:50%;background:#1f73fa;color:#fff;box-shadow:0 6px 16px #1f73fa45;font:inherit;font-size:31px;font-weight:400;line-height:1}.mobile-tools-header>span{display:flex;min-width:0;flex-direction:column;gap:3px}.mobile-tools-header strong{color:#202839;font-size:20px;font-weight:900;line-height:1.1}.mobile-tools-header small{color:#738095;font-size:11px;font-weight:600}.mobile-tools-display-mode{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:9px 10px 9px 14px;border:1px solid #d9e0ea;border-radius:17px;background:#ffffffb8}.mobile-tools-display-mode>span{color:#46546a;font-size:12px;font-weight:900;white-space:nowrap}.mobile-tools-display-mode>div{display:grid;min-width:164px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;border-radius:13px;background:#e8edf5}.mobile-tools-display-mode button{height:34px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#68758a;font:inherit;font-size:12px;font-weight:900}.mobile-tools-display-mode button.is-active{background:#fff;color:#1764d8;box-shadow:0 3px 10px #1f41701f}.mobile-tools-display-mode button:disabled{opacity:.45}.mobile-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:14px}.mobile-tool-card{display:flex;height:112px;min-width:0;padding:14px 8px 13px;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid #d9e0ea;border-radius:20px;background:#ffffffc7;color:#46546a;box-shadow:0 6px 14px #1e314c0d;font:inherit;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.mobile-tool-card:active{transform:scale(.97)}.mobile-tool-card.is-active{border-color:#2d80fb;background:#e7f2ff;color:#1764d8;box-shadow:0 7px 18px #1f73fa1c}.mobile-tool-card:disabled{opacity:.42;filter:grayscale(.2)}.mobile-tool-card strong{overflow:hidden;max-width:100%;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.mobile-tool-icon{display:grid;width:35px;height:35px;place-items:center;color:currentColor;font-size:27px;font-weight:800;line-height:1}.mobile-tool-icon.sunshine{color:#f0a000;font-size:30px}.mobile-capacity-panel{position:relative;height:166px;margin-top:22px;padding:17px 16px 16px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:#eef4fb;box-shadow:inset 0 1px #ffffffc7}.mobile-capacity-title{display:block;margin-bottom:13px;color:#253047;font-size:14px;font-weight:900}.mobile-capacity-panel label{display:block;margin-bottom:7px;color:#637085;font-size:11px;font-weight:800}.mobile-capacity-field{display:flex;height:62px;align-items:center;border:1px solid #d4dce8;border-radius:16px;background:#fff;box-shadow:0 4px 12px #1f324d0a;transition:border-color .18s ease,box-shadow .18s ease}.mobile-capacity-field.is-focused{border:2px solid #277cf7;box-shadow:0 0 0 3px #277cf71a}.mobile-capacity-field input{min-width:0;height:100%;flex:1;padding:0 0 0 17px;border:0;outline:0;background:transparent;color:#1d2636;font:inherit;font-size:22px;font-weight:800}.mobile-capacity-field input::-webkit-inner-spin-button,.mobile-capacity-field input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-capacity-field>span{padding:0 18px 0 12px;color:#6a778c;font-size:14px;font-weight:800}.mobile-capacity-apply{width:100%;height:54px;margin-top:14px;border:0;border-radius:17px;background:#1f73fa;color:#fff;box-shadow:0 8px 18px #1f73fa40;font:inherit;font-size:14px;font-weight:900}.mobile-map-shell #side-panel{top:auto;right:0;bottom:0;left:0;z-index:76;width:100%;height:min(54dvh,460px);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;transition:transform .34s cubic-bezier(.18,.86,.22,1)}.mobile-map-shell #side-panel.collapsed{transform:translateY(calc(100% + 28px))}.mobile-map-shell .maplibregl-ctrl-bottom-left{bottom:max(88px,calc(env(safe-area-inset-bottom) + 76px));left:8px}@keyframes mobile-sheet-in{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes mobile-bottom-restore-in{0%{transform:translate(-50%,10px);opacity:0}to{transform:translate(-50%);opacity:1}}.pwa-update-prompt{position:fixed;right:20px;bottom:20px;z-index:220;display:flex;width:min(440px,calc(100vw - 40px));align-items:center;gap:18px;padding:15px 16px 15px 18px;border:1px solid var(--glass-outline);border-radius:var(--radius-floating);background:var(--surface-floating);box-shadow:var(--shadow-floating);backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(var(--blur-control)) saturate(var(--glass-saturation))}.pwa-update-prompt__copy{display:grid;min-width:0;flex:1;gap:4px}.pwa-update-prompt__copy strong{color:#1d2a3f;font-size:14px;font-weight:900}.pwa-update-prompt__copy span{color:#66758a;font-size:12px;font-weight:700;line-height:1.45}.pwa-update-prompt__actions{display:flex;flex:0 0 auto;gap:7px}.pwa-update-prompt__actions button{min-width:68px;height:36px;padding:0 12px;border:1px solid #1f73fa;border-radius:11px;background:#1f73fa;color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.pwa-update-prompt__actions button.is-secondary{border-color:#d7e0ed;background:#ffffffb3;color:#56657a}@media(max-width:900px){.pwa-update-prompt{display:flex;right:14px;bottom:max(90px,calc(env(safe-area-inset-bottom) + 78px));left:14px;width:auto}}@media(max-width:480px){.pwa-update-prompt{align-items:stretch;flex-direction:column;gap:12px}.pwa-update-prompt__actions{width:100%}.pwa-update-prompt__actions button{flex:1}}@media(max-width:420px){#mobile-map-controls{right:16px}.mobile-menu-grid{gap:12px}}@media print{@page{size:A4 portrait;margin:6mm}html,body,#root{width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important}body *{visibility:hidden!important}#report-view,#report-view *{visibility:visible!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}#report-view.is-print-preparing{opacity:1!important;pointer-events:auto!important}#report-view{position:absolute!important;inset:0 auto auto 0!important;width:198mm!important;height:285mm!important;padding:0!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important}.report-view-shell,.report-view-shell.is-fullscreen{position:static!important;width:198mm!important;height:285mm!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;animation:none!important;background:#fff!important}#report-view-toolbar{min-height:17mm;height:17mm;padding:2mm 4mm;background:#fff!important;border-bottom:.3mm solid #dfe6ee}.report-view-heading-icon{width:9mm;height:9mm;border-radius:2.5mm}#report-view-toolbar h2{font-size:11pt}.report-view-kicker{font-size:6pt}.report-view-subtitle{margin-top:.8mm;gap:2mm;font-size:7pt}#report-view-actions,#report-building-list{display:none!important}#report-view-body{display:block!important;min-height:0!important;height:268mm!important;background:#fff!important}#report-content{width:100%!important;height:268mm!important;overflow:hidden!important;padding:3mm!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:70mm 54mm 89mm 40mm!important;gap:3mm!important;background:#fff!important}.report-card,.report-card:first-child{grid-column:auto!important;grid-row:auto!important;min-height:0!important;overflow:hidden!important;padding:3mm!important;border-radius:3mm!important;border-color:#dce4eb!important;background:#f8fafc!important;box-shadow:none!important;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}.report-card{display:flex!important;flex-direction:column!important}.report-card>h3,.report-card-head,.report-stat-grid{flex:0 0 auto}.report-scene-wrap,.report-chart-wrap,.report-chart-wrap.tall{flex:1 1 auto!important;min-height:0!important;height:auto!important}.report-chart-wrap{display:flex!important;align-items:center!important;justify-content:center!important}.report-chart-wrap .recharts-responsive-container{flex:0 0 auto!important;min-width:0!important;min-height:0!important}#report-view .recharts-tooltip-wrapper{display:none!important}.report-card:nth-child(4) .report-stat-grid{flex:1 1 auto;min-height:0;margin-bottom:0}.report-card:nth-child(4) .report-stat-card{min-height:0;overflow:hidden}.report-card h3{margin-bottom:2mm;font-size:8.5pt}.report-card-head{margin-bottom:2mm}.report-card-caption,.report-stat-label{font-size:6.5pt}.report-chart-unit{padding:1mm 2mm;font-size:6pt}.report-scene-wrap{border-radius:2mm}#report-view.has-scene-snapshot .report-scene-canvas{display:none!important}#report-view.has-scene-snapshot .report-scene-print-snapshot{display:block!important}.report-stat-grid{gap:2mm;margin-bottom:2mm}.report-stat-card{padding:2mm 2.5mm;gap:1mm;border-radius:2mm}.report-stat-value{font-size:10pt}.report-stat-caption,.report-stat-count{font-size:6pt}}.crop-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.crop-modal{background:var(--surface-default);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);padding:24px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--shadow-sheet)}.crop-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:280px}.crop-modal-header h2{margin:0;font-size:16px;font-weight:700;color:var(--text)}.crop-modal-header p{margin:4px 0 0;font-size:11px;color:var(--text-dim)}.crop-modal-close{border:1px solid var(--control-border);background:var(--surface2);border-radius:50%;width:28px;height:28px;flex-shrink:0;font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text)}.crop-viewport{position:relative;overflow:hidden;border-radius:12px;background:#111;touch-action:none;cursor:grab}.crop-viewport img{position:absolute;top:0;left:0;max-width:none}.crop-guide-circle{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;width:92%;height:92%;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999px #00000073}.crop-zoom-row{display:flex;align-items:center;gap:8px;width:280px}.crop-zoom-btn{border:1px solid var(--control-border);background:var(--surface2);border-radius:8px;width:26px;height:26px;flex-shrink:0;font-size:14px;line-height:1;cursor:pointer;color:var(--text)}.crop-zoom-slider{flex:1;min-width:0}.crop-zoom-pct{font-size:11px;font-weight:700;color:var(--accent);width:34px;text-align:right;flex-shrink:0}.crop-modal-actions{display:flex;gap:8px}.image-action-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:1000;width:246px;background:var(--surface-default);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:14px 12px 12px;box-shadow:var(--shadow-floating);display:flex;flex-direction:column;gap:6px}.image-action-menu-title{margin:0;font-size:12px;font-weight:700;color:var(--text)}.image-action-menu-subtitle{margin:0 0 4px;font-size:9px;color:var(--text-dim)}.image-action-menu-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:transparent;border-radius:10px;padding:8px 10px;cursor:pointer}.image-action-menu-item:hover{background:var(--surface2)}.image-action-menu-icon{width:20px;height:20px;flex-shrink:0;border-radius:6px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--accent)}.image-action-menu-copy{display:flex;flex-direction:column;gap:2px}.image-action-menu-copy strong{font-size:10px;font-weight:700;color:var(--text)}.image-action-menu-copy small{font-size:8px;color:var(--text-dim)}.image-action-menu-item-danger .image-action-menu-icon,.image-action-menu-item-danger .image-action-menu-copy strong{color:#ff2e2e}.password-strength-row{display:flex;align-items:center;gap:8px;margin-top:6px}.password-strength-segment{height:4px;flex:1;border-radius:999px;background:var(--control-border)}.password-strength-label{font-size:9px;font-weight:700;flex-shrink:0}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.ui-glass-card,.ui-glass-floating,.ui-glass-sheet,#app-header.site-header,#side-panel,.scene-toolbar-toggle,.scene-toolbar-panel,#mobile-map-controls,.manage-sidebar,.app-mobile-bottom-nav,.building-edit-property-panel,.polygon-editor-toolbar,.polygon-editor-mode-hint,.notification-dropdown,.login-popover{background:var(--surface-default);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-transparency:reduce){.ui-glass-card,.ui-glass-floating,.ui-glass-sheet,#app-header.site-header,#side-panel,.scene-toolbar-toggle,.scene-toolbar-panel,#mobile-map-controls,.manage-sidebar,.app-mobile-bottom-nav,.building-edit-property-panel,.polygon-editor-toolbar,.polygon-editor-mode-hint,.notification-dropdown,.login-popover{background:var(--surface-default)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:more),(forced-colors:active){:root{--border-subtle: rgba(17,17,17,.34);--control-border: rgba(17,17,17,.52);--text-tertiary: #4c4c4c}.ui-surface-default,.ui-surface-subtle,.ui-glass-card,.ui-glass-floating,.ui-glass-sheet{border-color:currentColor}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline-width:3px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.right-1{right:.25rem}.top-1\/2{top:50%}.z-\[900\]{z-index:900}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[19px\]{height:19px}.h-\[34px\]{height:34px}.max-h-\[240px\]{max-height:240px}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[42px\]{min-height:42px}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[19px\]{width:19px}.w-\[34px\]{width:34px}.w-\[52px\]{width:52px}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-\[420px\]{max-width:420px}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[var\(--radius-control\)\]{border-radius:var(--radius-control)}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[rgba\(14\,164\,114\,\.4\)\]{border-color:#0ea47266}.border-\[rgba\(220\,0\,0\,\.22\)\]{border-color:#dc000038}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border-subtle\)\]{border-color:var(--border-subtle)}.border-\[var\(--control-border\)\]{border-color:var(--control-border)}.border-\[var\(--glass-outline\)\]{border-color:var(--glass-outline)}.border-transparent{border-color:transparent}.bg-\[rgba\(0\,122\,255\,\.12\)\]{background-color:#007aff1f}.bg-\[rgba\(14\,164\,114\,\.18\)\]{background-color:#0ea4722e}.bg-\[rgba\(20\,47\,63\,\.08\)\]{background-color:#142f3f14}.bg-\[rgba\(20\,47\,63\,\.24\)\]{background-color:#142f3f3d}.bg-\[rgba\(220\,0\,0\,\.08\)\]{background-color:#dc000014}.bg-\[rgba\(220\,0\,0\,\.15\)\]{background-color:#dc000026}.bg-\[rgba\(255\,170\,0\,\.15\)\]{background-color:#ffaa0026}.bg-\[rgba\(4\,176\,20\,\.15\)\]{background-color:#04b01426}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--control-surface\)\]{background-color:var(--control-surface)}.bg-\[var\(--surface-floating\)\]{background-color:var(--surface-floating)}.bg-transparent{background-color:transparent}.fill-none{fill:none}.stroke-current{stroke:currentColor}.p-0{padding:0}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pr-9{padding-right:2.25rem}.font-sans{font-family:NanumSquare,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[22px\]{font-size:22px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-4{line-height:1rem}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.text-\[rgb\(14\,164\,114\)\]{--tw-text-opacity: 1;color:rgb(14 164 114 / var(--tw-text-opacity, 1))}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--status-caution\)\]{color:var(--status-caution)}.text-\[var\(--status-fail\)\]{color:var(--status-fail)}.text-\[var\(--status-success\)\]{color:var(--status-success)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-\[var\(--text-tertiary\)\]{color:var(--text-tertiary)}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow-color: var(--shadow-soft);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.\!ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color) !important;--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color) !important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)!important}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);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)}.invert{--tw-invert: invert(100%);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)}.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)}.backdrop-blur-\[10px\]{--tw-backdrop-blur: blur(10px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[var\(--blur-control\)\]{--tw-backdrop-blur: blur(var(--blur-control));-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,background-color\,box-shadow\]{transition-property:border-color,background-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[transform\,background-color\,border-color\,color\,box-shadow\,opacity\]{transition-property:transform,background-color,border-color,color,box-shadow,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.\[buildings\:underground-filter\]{buildings:underground-filter}.placeholder\:text-\[var\(--text-tertiary\)\]::-moz-placeholder{color:var(--text-tertiary)}.placeholder\:text-\[var\(--text-tertiary\)\]::placeholder{color:var(--text-tertiary)}.last\:border-b-0:last-child{border-bottom-width:0px}.read-only\:bg-\[var\(--surface-subtle\)\]:-moz-read-only{background-color:var(--surface-subtle)}.read-only\:bg-\[var\(--surface-subtle\)\]:read-only{background-color:var(--surface-subtle)}.hover\:-translate-y-px:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[rgba\(220\,0\,0\,\.38\)\]:hover{border-color:#dc000061}.hover\:border-\[var\(--control-border-hover\)\]:hover{border-color:var(--control-border-hover)}.hover\:bg-\[rgba\(0\,122\,255\,\.08\)\]:hover{background-color:#007aff14}.hover\:bg-\[rgba\(14\,164\,114\,\.3\)\]:hover{background-color:#0ea4724d}.hover\:bg-\[rgba\(220\,0\,0\,\.14\)\]:hover{background-color:#dc000024}.hover\:bg-\[var\(--control-surface-hover\)\]:hover{background-color:var(--control-surface-hover)}.hover\:bg-\[var\(--surface-floating-hover\)\]:hover{background-color:var(--surface-floating-hover)}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);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)}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:bg-\[var\(--control-surface-focus\)\]:focus{background-color:var(--control-surface-focus)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[rgba\(0\,122\,255\,\.10\)\]:focus{--tw-ring-color: rgba(0,122,255,.1)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[rgba\(0\,122\,255\,\.22\)\]:focus-visible{--tw-ring-color: rgba(0,122,255,.22)}.active\:translate-y-0:active{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-45:disabled{opacity:.45}.aria-busy\:pointer-events-none[aria-busy=true]{pointer-events:none}.aria-busy\:cursor-wait[aria-busy=true]{cursor:wait}.aria-busy\:opacity-65[aria-busy=true]{opacity:.65}.aria-pressed\:border-\[var\(--accent\)\][aria-pressed=true]{border-color:var(--accent)}.aria-pressed\:bg-\[rgba\(0\,122\,255\,\.08\)\][aria-pressed=true]{background-color:#007aff14}.aria-pressed\:bg-\[rgba\(0\,122\,255\,\.10\)\][aria-pressed=true]{background-color:#007aff1a}.aria-pressed\:text-\[var\(--accent\)\][aria-pressed=true]{color:var(--accent)}.aria-pressed\:brightness-90[aria-pressed=true]{--tw-brightness: brightness(.9);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)}.aria-\[invalid\=true\]\:border-\[var\(--status-fail\)\][aria-invalid=true]{border-color:var(--status-fail)}.aria-\[invalid\=true\]\:ring-2[aria-invalid=true]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.aria-\[invalid\=true\]\:ring-\[rgba\(220\,0\,0\,\.10\)\][aria-invalid=true]{--tw-ring-color: rgba(220,0,0,.1)}.\[\&_svg\]\:h-4 svg{height:1rem}.\[\&_svg\]\:w-4 svg{width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
