@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css";@import"https://rsms.me/inter/inter.css";*,: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:Pretendard,Noto Sans KR,Inter,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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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}.static{position:static}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-9{height:2.25rem}.w-10{width:2.5rem}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-5{padding:1.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}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-0{padding-top:0}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}:root{--rl-led-50: #fffbeb;--rl-led-100: #fef3c7;--rl-led-300: #fcd34d;--rl-led-400: #fbbf24;--rl-led-500: #f4b400;--rl-led-600: #d69400;--rl-led-900: #5c3f00;--rl-minsoo: #2563eb;--rl-minsoo-bg: #eff4ff;--rl-jodal: #f59e0b;--rl-jodal-bg: #fef6e7;--rl-bg: #fbfaf7;--rl-surface: #ffffff;--rl-surface-2: #f6f4ef;--rl-line: #ece9e2;--rl-line-2: #e2ded5;--rl-ink-900: #14130f;--rl-ink-700: #3a372f;--rl-ink-500: #6b675c;--rl-ink-400: #8e8a7e;--rl-ink-300: #b6b2a6;--rl-ink-200: #d6d2c6;--rl-ok: #18794e;--rl-ok-bg: #e5f4eb;--rl-run: #c2410c;--rl-run-bg: #fff1e5;--rl-wait: #6b675c;--rl-wait-bg: #f0eee7;--rl-warn: #b42318;--rl-warn-bg: #feecea;--font-kr: "Pretendard Variable", Pretendard, system-ui, sans-serif;--font-en: "Inter", "Pretendard Variable", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shadow-1: 0 1px 0 rgba(20, 19, 15, .04), 0 1px 2px rgba(20, 19, 15, .04);--shadow-2: 0 1px 0 rgba(20, 19, 15, .04), 0 4px 12px -2px rgba(20, 19, 15, .06);--shadow-3: 0 10px 30px -8px rgba(20, 19, 15, .1), 0 2px 6px rgba(20, 19, 15, .04)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--rl-bg);color:var(--rl-ink-900);font-family:var(--font-kr);font-feature-settings:"tnum";letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font-family:inherit}.num,.en{font-family:var(--font-en);font-feature-settings:"tnum"}.app-shell{min-height:100vh}.app-header{align-items:center;background:var(--rl-surface);border-bottom:1px solid var(--rl-line);display:flex;gap:16px;height:56px;padding:0 24px;position:sticky;top:0;z-index:50}.logo{align-items:center;display:flex;font-size:15px;font-weight:700;gap:10px;text-decoration:none}.logo .mark,.mark{background:var(--rl-led-500);border-radius:6px;box-shadow:inset 0 0 0 1px #0000000f;height:22px;position:relative;width:22px}.logo .mark:after{background:#ffffff8c;border-radius:3px;content:"";top:4px;right:4px;bottom:4px;left:4px;-webkit-mask:radial-gradient(circle at 30% 30%,#000 0%,#000 35%,transparent 60%);mask:radial-gradient(circle at 30% 30%,#000 0%,#000 35%,transparent 60%);position:absolute}.app-header nav{display:flex;gap:4px}.app-header nav a{border-radius:6px;color:var(--rl-ink-500);font-size:13.5px;font-weight:500;padding:6px 10px;text-decoration:none}.app-header nav a.active,.app-header nav a:hover{background:var(--rl-surface-2);color:var(--rl-ink-900)}.header-search{align-items:center;background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:8px;color:var(--rl-ink-900);display:inline-flex;font-size:13px;gap:6px;height:32px;margin-left:4px;max-width:280px;min-width:180px;padding:0 12px;white-space:nowrap;width:22vw}.header-search svg{color:var(--rl-ink-400);flex:0 0 auto}.header-search span{color:var(--rl-ink-400);display:inline-block;line-height:1}.spacer{flex:1}.user{align-items:center;color:var(--rl-ink-700);display:flex;font-size:13px;gap:8px}.avatar{align-items:center;background:linear-gradient(135deg,var(--rl-led-300),var(--rl-led-500));border-radius:50%;color:var(--rl-ink-900);display:grid;font-size:11px;font-weight:700;height:28px;place-items:center;width:28px}.btn{align-items:center;background:var(--rl-surface);border:1px solid var(--rl-line-2);border-radius:8px;color:var(--rl-ink-900);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;height:34px;justify-content:center;padding:0 14px;text-decoration:none;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.btn:hover{background:var(--rl-surface-2)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--rl-led-500);border-color:var(--rl-led-600);color:var(--rl-ink-900);font-weight:700}.btn--primary:hover{background:var(--rl-led-400)}.btn--sm{border-radius:6px;font-size:12px;height:28px;padding:0 10px}.btn--big{font-size:13.5px;height:38px;padding:0 16px}.btn.is-active{background:var(--rl-ink-900);border-color:var(--rl-ink-900);color:#fff;font-weight:700}.btn.is-active .num{color:#ffffffb8}.page{margin:0 auto;max-width:1720px;padding:24px 24px 80px}.page--narrow{max-width:1600px}.page-title{align-items:baseline;display:flex;gap:12px;margin:0 0 4px}.page-title h1,.ph-head h1{font-weight:700;letter-spacing:0;margin:0}.page-title h1{font-size:22px}.page-title .count,.panel .head .count,.channel-h .n{color:var(--rl-ink-400);font-family:var(--font-en);font-size:12px}.page-sub{color:var(--rl-ink-500);font-size:13px;margin:0 0 24px}.tabs{align-items:flex-end;border-bottom:1px solid var(--rl-line);display:flex;gap:0;margin-bottom:18px}.tabs button{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--rl-ink-500);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:500;gap:6px;height:38px;margin-bottom:-1px;padding:0 14px}.tabs button.on{border-bottom-color:var(--rl-led-500);color:var(--rl-ink-900);font-weight:700}.tabs button .n{background:var(--rl-surface-2);border-radius:999px;color:var(--rl-ink-500);font-family:var(--font-en);font-size:11.5px;font-weight:600;padding:1px 6px}.tabs button.on .n{background:var(--rl-led-100);color:var(--rl-led-900)}.right-actions,.actions{align-items:center;display:flex;gap:8px}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.filters .search{background:var(--rl-surface);border:1px solid var(--rl-line-2);border-radius:8px;flex:1;font-size:13px;height:32px;max-width:520px;min-width:220px;padding:0 12px}.sel{align-items:center;background:var(--rl-surface);border:1px solid var(--rl-line-2);border-radius:8px;color:var(--rl-ink-700);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;height:32px;padding:0 28px 0 12px;position:relative}.sel:after{color:var(--rl-ink-400);content:"▾";font-size:9px;position:absolute;right:10px}.sel b{color:var(--rl-ink-500);font-weight:500}.toggle{align-items:center;color:var(--rl-ink-700);cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.toggle .sw{background:var(--rl-led-500);border-radius:999px;height:18px;position:relative;width:30px}.toggle .sw:after{background:#fff;border-radius:50%;box-shadow:0 1px 2px #0000002e;content:"";height:14px;left:14px;position:absolute;top:2px;width:14px}.channel-h{align-items:center;display:flex;gap:10px;margin:6px 0 12px}.channel-h .swatch{border-radius:2px;height:18px;width:4px}.channel-h h2{font-size:14px;font-weight:700;margin:0}.channel-h .rule,.section-rule{background:var(--rl-line);flex:1;height:1px}.grid{display:grid;gap:18px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:32px}.pcard{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-1);color:inherit;cursor:pointer;display:grid;grid-template-columns:5px 1fr;overflow:hidden;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,border-color .2s ease}.pcard:hover{border-color:var(--rl-line-2);box-shadow:var(--shadow-3);transform:translateY(-3px) scale(1.005)}.pcard .stripe{background:var(--rl-minsoo)}.pcard.jodal .stripe{background:var(--rl-jodal)}.pcard .inner{display:flex;flex-direction:column}.pcard .ph,.ph{background:repeating-linear-gradient(135deg,#f0ede5 0,#f0ede5 8px,#e7e3d9 8px,#e7e3d9 16px);border-bottom:1px solid var(--rl-line);color:var(--rl-ink-400);display:grid;font-family:var(--font-mono);font-size:10px;place-items:center;position:relative}.pcard .ph{aspect-ratio:16 / 9}.pcard .label{background:#fbfaf7d9;border-radius:3px;bottom:8px;padding:2px 6px;position:absolute}.channel-flag{left:10px;position:absolute;top:10px}.tag-channel{align-items:center;border-radius:4px;display:inline-flex;font-size:11.5px;font-weight:700;height:22px;padding:0 8px}.tag-channel--minsoo{background:var(--rl-minsoo-bg);color:var(--rl-minsoo)}.tag-channel--jodal{background:var(--rl-jodal-bg);color:var(--rl-jodal)}.dday{background:#14130fc7;border-radius:999px;color:#fff;font-family:var(--font-en);font-size:11px;font-weight:600;padding:2px 8px;position:absolute;right:10px;top:10px}.dday.warn{background:var(--rl-warn)}.pcard .body{display:flex;flex-direction:column;gap:10px;padding:14px 16px 12px}.pcard .title{font-size:16px;font-weight:700;line-height:1.3}.pcard .client,.pcard .meta{align-items:center;color:var(--rl-ink-500);display:flex;font-size:12px;gap:6px}.pcard .meta{color:var(--rl-ink-400);font-size:11.5px}.pcard .meta b{color:var(--rl-ink-700);font-weight:500}.sep-dot,.pcard .client .sep,.ph-meta-row .dot{background:var(--rl-ink-300);border-radius:50%;height:3px;width:3px}.progress-row{align-items:center;border-top:1px solid var(--rl-line);display:flex;gap:10px;padding-top:10px}.dots{align-items:center;display:flex;gap:5px}.dots b{background:var(--rl-line-2);border-radius:50%;display:block;height:8px;width:8px}.dots b.done{background:var(--rl-ok)}.dots b.run{background:var(--rl-run);position:relative}.stage-label{align-items:center;color:var(--rl-ink-700);display:flex;font-size:11.5px;gap:6px;margin-left:auto}.alert,.row-status.warn{color:var(--rl-warn);font-weight:700}.crumb{align-items:center;color:var(--rl-ink-500);display:flex;font-size:12.5px;gap:6px;margin-bottom:12px}.crumb a{color:var(--rl-ink-500);text-decoration:none}.ph-head{align-items:flex-end;display:grid;gap:24px;grid-template-columns:1fr auto;margin-bottom:8px}.ph-head h1{align-items:baseline;display:flex;font-size:28px;gap:12px}.ph-head h1 .id{color:var(--rl-ink-400);font-family:var(--font-en);font-size:13px;font-weight:500}.project-status-chip{align-items:center;background:#0f845c1a;border:1px solid rgba(15,132,92,.24);border-radius:999px;color:var(--rl-ok);display:inline-flex;font-size:12px;font-weight:700;min-height:24px;padding:0 10px;white-space:nowrap}.project-page-head{align-items:flex-start}.project-page-head .project-actions{flex-wrap:wrap;justify-content:flex-end;max-width:1040px}.ph-meta-row{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:14px;margin-top:8px}.ph-meta-row>*{align-items:center;display:inline-flex;gap:6px}.ph-meta-row .k{color:var(--rl-ink-500)}.ph-meta-row .v{color:var(--rl-ink-900);font-weight:500}.tl-card,.panel{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-1)}.tl-card{margin-top:22px;padding:22px 26px 20px}.tl-top{align-items:center;display:flex;gap:14px;margin-bottom:18px}.tl-top .pct{font-family:var(--font-en);font-size:32px;font-weight:700;line-height:1}.tl-top .pct sup{color:var(--rl-ink-500);font-size:18px;font-weight:500}.tl-top .label{display:flex;flex-direction:column;gap:2px}.tl-top .l1,.tl-top .since{color:var(--rl-ink-500);font-size:13px}.tl-top .l2{font-size:14px;font-weight:700}.tl-top .since{color:var(--rl-ink-400);text-align:right}.tl-top .since b{color:var(--rl-ink-700);display:block;font-family:var(--font-en)}.tl{display:grid;grid-template-columns:repeat(7,1fr)}.tl .step{align-items:flex-start;display:flex;flex-direction:column;padding-right:6px}.dot-wrap{align-items:center;display:flex;height:32px;width:100%}.tl .dot{background:var(--rl-surface);border:2px solid var(--rl-line-2);border-radius:50%;display:grid;flex-shrink:0;height:28px;place-items:center;width:28px;z-index:2}.tl .dot .n{color:var(--rl-ink-400);font-family:var(--font-en);font-size:11px;font-weight:700}.tl .bar{background:var(--rl-line-2);border-radius:2px;flex:1;height:3px}.tl .step.done .dot{background:var(--rl-ok);border-color:var(--rl-ok)}.tl .step.done .dot:after{color:#fff;content:"✓";font-size:14px;font-weight:800}.tl .step.done .dot .n{display:none}.tl .step.done .bar{background:var(--rl-ok)}.tl .step.run .dot{background:#fff;border-color:var(--rl-run);box-shadow:0 0 0 4px #c2410c26}.tl .step.run .bar{background:linear-gradient(90deg,var(--rl-run) 0%,var(--rl-run) 70%,var(--rl-line-2) 70%)}.tl .step:last-child .bar{display:none}.tl .label{color:var(--rl-ink-900);font-size:13.5px;font-weight:700;margin-top:12px}.tl .when{color:var(--rl-ink-400);font-family:var(--font-en);font-size:11.5px;margin-top:2px}.tl .step.run .label,.tl .step.run .when{color:var(--rl-run)}.project-check-summary{align-items:start;background:#fffdf6;border:1px solid #f4df9f;border-radius:12px;display:grid;gap:14px;grid-template-columns:130px minmax(0,1fr);margin-top:16px;padding:14px 16px}.project-check-summary>div{display:grid;gap:5px}.project-check-summary strong{color:var(--rl-ink-900);font-size:14px;font-weight:850}.project-check-summary>div span{color:var(--rl-ink-500);font-size:12px;font-weight:750}.project-check-summary ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.project-check-summary li{align-items:baseline;display:grid;gap:8px;grid-template-columns:160px minmax(0,1fr)}.project-check-summary li b{color:var(--rl-ink-800);font-size:12.5px;font-weight:850}.project-check-summary li span{color:var(--rl-ink-600);font-size:12.5px;line-height:1.35}.project-check-summary .check-risk--critical b{color:var(--rl-danger)}.project-check-summary .check-risk--warning b{color:var(--rl-run)}.project-check-summary .check-risk--info b{color:var(--rl-info)}.ops-board{background:linear-gradient(180deg,#fff,#fbfcfd);border:1px solid var(--rl-line);border-radius:12px;margin-top:16px;overflow:hidden}.ops-board-head{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:16px 18px 14px}.ops-board-head h2{font-size:16px;line-height:1.25;margin:0}.ops-board-head p{color:var(--rl-ink-500);font-size:12.5px;margin:3px 0 0}.ops-generated{background:#eef6ff;border:1px solid #d7e8fb;border-radius:999px;color:#1d4f8f;flex-shrink:0;font-family:var(--font-en);font-size:11.5px;font-weight:700;padding:4px 9px}.ops-metrics{border-top:1px solid var(--rl-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.ops-metric{border-right:1px solid var(--rl-line);display:grid;gap:3px 10px;grid-template-columns:30px 1fr;min-height:104px;padding:16px 18px}.ops-metric:last-child{border-right:0}.ops-metric-icon{align-items:center;background:var(--ops-bg, var(--rl-surface-2));border-radius:8px;color:var(--ops-fg, var(--rl-ink-500));display:grid;grid-row:span 3;height:30px;place-items:center;width:30px}.ops-metric-label,.ops-metric-desc{color:var(--rl-ink-500);font-size:12px}.ops-metric strong{align-items:baseline;display:flex;gap:4px;line-height:1.1}.ops-metric strong .num{font-size:26px;font-weight:750}.ops-metric strong small{color:var(--rl-ink-500);font-size:12px;font-weight:600}.ops-status--ok{--ops-bg: #e8f6ee;--ops-fg: #18794e}.ops-status--warning{--ops-bg: #fff4e5;--ops-fg: #b45309}.ops-status--blocked{--ops-bg: #feecea;--ops-fg: #b42318}.ops-status--pending{--ops-bg: #eef6ff;--ops-fg: #1d4f8f}.ops-lists{border-top:1px solid var(--rl-line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.ops-list{min-width:0;padding:14px 18px 18px}.ops-list+.ops-list{border-left:1px solid var(--rl-line)}.ops-list-head{align-items:center;color:var(--rl-ink-700);display:flex;gap:7px;margin-bottom:10px}.ops-list-head h3{font-size:13.5px;margin:0}.ops-risk,.ops-auto{border-top:1px solid var(--rl-line);display:grid;gap:10px;padding:12px 0}.ops-risk:first-of-type,.ops-auto:first-of-type{border-top:0;padding-top:0}.ops-risk{grid-template-columns:46px 1fr}.ops-risk strong,.ops-auto strong{display:block;font-size:13.5px;line-height:1.35}.ops-risk p,.ops-auto p{color:var(--rl-ink-500);font-size:12.5px;line-height:1.45;margin:3px 0 0}.ops-risk em,.ops-auto span{color:var(--rl-ink-400);display:block;font-size:11.5px;font-style:normal;line-height:1.45;margin-top:4px}.ops-severity,.ops-auto-status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;height:22px;justify-content:center;line-height:1;padding:0 7px;white-space:nowrap}.ops-severity--critical .ops-severity{background:var(--rl-warn-bg);color:var(--rl-warn)}.ops-severity--warning .ops-severity{background:var(--rl-run-bg);color:var(--rl-run)}.ops-severity--info .ops-severity{background:#eef6ff;color:#1d4f8f}.ops-auto{align-items:flex-start;grid-template-columns:1fr auto}.ops-auto-status{gap:4px;margin-top:0}.ops-auto--ready,.ops-auto--done{background:var(--rl-ok-bg);color:var(--rl-ok)}.ops-auto--blocked{background:var(--rl-warn-bg);color:var(--rl-warn)}.ops-auto--pending{background:#eef6ff;color:#1d4f8f}.two-col{display:grid;gap:18px;grid-template-columns:280px minmax(0,1fr);margin-top:18px}.overview-main{display:grid;gap:18px;margin-top:18px}.stages,.right-col,.memo,.att{display:flex;flex-direction:column}.stages,.right-col{gap:10px}.right-col{gap:18px}.stage{align-items:center;background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:12px;-moz-column-gap:12px;column-gap:12px;cursor:pointer;display:grid;grid-template-columns:24px 1fr auto;padding:12px 14px;row-gap:4px}.stage .num{background:var(--rl-surface-2);border-radius:50%;color:var(--rl-ink-500);display:grid;font-family:var(--font-en);font-size:11px;font-weight:700;grid-row:span 2;height:24px;place-items:center;width:24px}.stage.done .num{background:var(--rl-ok);color:#fff}.stage.done .num:after{content:"✓"}.stage.done .num span{display:none}.stage.run .num{background:var(--rl-run);color:#fff}.stage .title{font-size:14px;font-weight:700}.stage .status-tag{border-radius:4px;font-size:11px;font-weight:700;padding:1px 6px}.stage.done .status-tag{background:var(--rl-ok-bg);color:var(--rl-ok)}.stage.run .status-tag{background:var(--rl-run-bg);color:var(--rl-run)}.stage.wait .status-tag{background:var(--rl-wait-bg);color:var(--rl-wait)}.stage .desc{color:var(--rl-ink-500);font-size:12px;grid-column:2 / span 2}.stage .progress{background:var(--rl-line);border-radius:2px;grid-column:1 / -1;height:4px;margin-top:4px;overflow:hidden}.stage .progress>span{display:block;height:100%}.stage.done .progress>span{background:var(--rl-ok);width:100%}.stage.run .progress>span{background:var(--rl-run)}.stage.wait .progress{display:none}.panel{overflow:hidden}.panel .head{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:10px;padding:14px 18px 12px}.panel .head h3{font-size:15px;font-weight:700;margin:0}.head-action{color:var(--rl-ink-500);cursor:pointer;font-size:12px}.status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;line-height:1.6;padding:2px 8px}.status .dot,.row-status .dot,.as-status .dot,.sm-card .dot{background:currentColor;border-radius:50%;height:6px;width:6px}.status--ok{background:var(--rl-ok-bg);color:var(--rl-ok)}.status--warn{background:var(--rl-warn-bg);color:var(--rl-warn)}.cert-tbl-wrap{overflow-x:auto}.cert-tbl,.as-tbl{border-collapse:separate;border-spacing:0;font-size:13px;width:100%}.cert-tbl{min-width:980px}.cert-tbl th:first-child,.cert-tbl td:first-child{min-width:440px;width:48%}.cert-tbl th.cert,.cert-tbl td.cert{min-width:92px}.cert-tbl th.num-r,.cert-tbl td.num-r{min-width:86px}.cert-tbl thead th,.as-tbl thead th{background:var(--rl-surface-2);border-bottom:1px solid var(--rl-line);color:var(--rl-ink-500);font-size:11.5px;font-weight:700;padding:10px 12px;text-align:left;white-space:nowrap}.cert-tbl thead th.cert,.cert-tbl tbody td.cert{text-align:center}.cert-tbl tbody td,.as-tbl tbody td{border-bottom:1px solid var(--rl-line);padding:14px 12px;vertical-align:middle}.cert-tbl tbody tr.warn td{background:#b4231809}.cert-tbl tbody tr:hover td,.as-tbl tbody tr:hover td{background:#fcfbf7}.cert-tbl tbody tr.is-clickable{cursor:pointer}.cert-tbl tbody tr.is-clickable:focus-visible td{outline:2px solid var(--rl-led-500);outline-offset:-2px}.product-cell{align-items:center;display:grid;gap:12px;grid-template-columns:112px minmax(0,1fr);min-width:460px}.product-cell-text{display:flex;flex-direction:column;gap:7px;min-width:0}.product-row-image{background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;display:block;height:88px;-o-object-fit:contain;object-fit:contain;padding:4px;width:112px}.product-row-image--empty{align-items:center;color:var(--rl-ink-400);display:flex;font-size:10.5px;justify-content:center;line-height:1.2;padding:0 8px;text-align:center}.num-r{font-family:var(--font-en);font-feature-settings:"tnum";text-align:right}.product-name{color:var(--rl-ink-900);display:block;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.product-spec{color:var(--rl-ink-700);display:block;font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}.product-desc{color:var(--rl-ink-400);display:block;font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}.product-state{display:flex;flex-direction:column;gap:6px;min-width:92px}.product-state>span{color:var(--rl-ink-400);font-size:11.5px}.model{font-family:var(--font-en);font-size:13px;font-weight:700;line-height:1.35;overflow-wrap:anywhere;word-break:keep-all}.model-desc,.model .ko{color:var(--rl-ink-500);display:block;font-family:var(--font-kr);font-size:11.5px;font-weight:400;margin-top:2px}.row-status{align-items:center;display:inline-flex;font-size:11.5px;font-weight:700;gap:6px;line-height:1.25}.row-status.ok{color:var(--rl-ok)}.cmark{align-items:center;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;height:26px;justify-content:center;transition:transform .1s ease,background .1s ease;width:26px}.cmark.ok{background:var(--rl-ok-bg);color:var(--rl-ok)}.cmark.mi{background:var(--rl-warn);box-shadow:0 0 0 3px #b423182e;color:#fff}.cmark:hover{transform:scale(1.1)}.cert-tbl tfoot td{background:#fcfbf7;border-top:1px solid var(--rl-line);font-weight:700;padding:12px}.cert-tbl tfoot .total{font-family:var(--font-en);font-size:16px}.bot-row{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:18px}.panel .body{padding:14px 18px 16px}.att{gap:2px}.att .it{align-items:center;border-radius:8px;cursor:pointer;display:grid;font-size:13.5px;gap:12px;grid-template-columns:32px 1fr auto auto;padding:8px 6px}.att .it:hover{background:var(--rl-surface-2)}.att .fi{align-items:center;border-radius:4px;color:#fff;display:grid;font-family:var(--font-mono);font-size:9px;font-weight:800;height:34px;place-items:center;width:28px}.fi.pdf{background:#c53030}.fi.png{background:#1f5bb8}.fi.dwg{background:#6e40b5}.att .when,.att .size,.memo .who,.memo .when{color:var(--rl-ink-400);font-size:11.5px}.memo{position:relative}.memo:before{background:var(--rl-line);bottom:6px;content:"";left:67px;position:absolute;top:16px;width:1px}.memo .item{align-items:flex-start;display:grid;gap:12px;grid-template-columns:56px 28px 1fr;padding:10px 0}.memo .marker{display:flex;justify-content:center;padding-top:4px;position:relative}.memo .marker:after{background:var(--rl-surface);border:2px solid var(--rl-led-500);border-radius:50%;content:"";display:block;height:10px;width:10px}.memo .what{font-size:13px;line-height:1.55}.summary{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 22px}.sm-card{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:12px;display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:14px 16px;position:relative}.sm-card:before{background:var(--c, var(--rl-ink-300));border-radius:50%;content:"";height:40px;opacity:.08;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:40px}.sm-card .k{align-items:center;color:var(--rl-ink-500);display:flex;font-size:12px;gap:6px}.sm-card .v{font-family:var(--font-en);font-size:28px;font-weight:700;line-height:1.1}.sm-card .v sup{color:var(--rl-ink-500);font-size:13px;font-weight:500;margin-left:2px}.sm-card .sub{color:var(--rl-ink-400);font-size:11.5px}.seg{background:var(--rl-surface-2);border-radius:8px;display:inline-flex;padding:3px}.seg button{align-items:center;background:transparent;border:none;border-radius:6px;color:var(--rl-ink-500);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:500;gap:5px;height:26px;padding:0 12px}.seg button.on{background:var(--rl-surface);box-shadow:var(--shadow-1);color:var(--rl-ink-900);font-weight:700}.as-tbl thead th{padding:10px 16px}.as-tbl tbody td{padding:16px;vertical-align:top}.as-tbl .when{font-family:var(--font-en);font-weight:600;white-space:nowrap}.as-tbl .ago{color:var(--rl-ink-400);display:block;font-size:11.5px;font-weight:400;margin-top:2px}.symp{max-width:420px}.symp .title{font-weight:600}.symp .loc{color:var(--rl-ink-500);font-size:11.5px;margin-top:4px}.who{align-items:center;display:inline-flex;gap:8px}.who .av{align-items:center;background:linear-gradient(135deg,var(--rl-led-300),var(--rl-led-500));border-radius:50%;color:var(--rl-ink-900);display:grid;font-size:10px;font-weight:700;height:26px;place-items:center;width:26px}.who.empty .av{background:var(--rl-surface-2);color:var(--rl-ink-300)}.who .role{color:var(--rl-ink-400);display:block;font-size:11px}.as-status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:4px 10px}.as-status.ok{background:var(--rl-ok-bg);color:var(--rl-ok)}.as-status.run{background:var(--rl-run-bg);color:var(--rl-run)}.as-status.wait{background:var(--rl-wait-bg);color:var(--rl-wait)}.as-tbl tbody tr td:first-child{border-left:3px solid transparent}.as-tbl tbody tr.s-run td:first-child{border-left-color:var(--rl-run)}.as-tbl tbody tr.s-ok td:first-child{border-left-color:var(--rl-ok)}.as-tbl tbody tr.s-wait td:first-child{border-left-color:var(--rl-line-2)}.post-table{align-items:center;color:var(--rl-ink-500);display:flex;font-size:12px;justify-content:space-between;margin-top:12px;padding:6px 4px}.delivery-source,.products-mode{align-items:center;background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-1);display:flex;gap:14px;margin:18px 0 20px;padding:14px 16px}.product-tabs{align-items:center;background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:10px;display:flex;gap:4px;margin:-6px 0 18px;padding:4px;width:-moz-max-content;width:max-content}.product-tabs a{align-items:center;border-radius:8px;color:var(--rl-ink-500);display:inline-flex;font-size:13px;font-weight:700;gap:8px;min-height:34px;padding:0 12px;text-decoration:none;white-space:nowrap}.product-tabs a.on{background:var(--rl-surface);box-shadow:var(--shadow-1);color:var(--rl-ink-800)}.product-tabs .n{color:var(--rl-ink-400);font-size:11px}.product-workbench{display:grid;gap:12px}.product-workbench-tabs{align-items:center;background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:10px;display:flex;gap:4px;padding:4px;width:-moz-max-content;width:max-content}.product-workbench-tabs button{align-items:center;background:transparent;border:0;border-radius:8px;color:var(--rl-ink-500);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:800;gap:8px;min-height:34px;padding:0 12px;white-space:nowrap}.product-workbench-tabs button.on{background:var(--rl-surface);box-shadow:var(--shadow-1);color:var(--rl-ink-800)}.product-workbench-tabs .n{color:var(--rl-ink-400);font-size:11px}.product-workbench-layout{align-items:start;display:grid;gap:14px;grid-template-columns:340px minmax(0,1fr)}.product-picker,.product-mode-panel{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:12px;overflow:hidden}.product-picker-head{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;justify-content:space-between;padding:12px 14px}.product-picker-head strong{color:var(--rl-ink-900);font-size:14px;font-weight:900}.product-picker-head span{color:var(--rl-ink-500);font-size:12px;font-weight:800}.product-picker-list{display:grid;max-height:680px;overflow-y:auto}.product-picker-list button{align-items:center;background:#fff;border:0;border-bottom:1px solid var(--rl-line);color:inherit;cursor:pointer;display:grid;font:inherit;gap:10px;grid-template-columns:58px minmax(0,1fr) auto;min-height:78px;padding:9px 12px;text-align:left}.product-picker-list button:last-child{border-bottom:0}.product-picker-list button.on{background:#fffaf0;box-shadow:inset 3px 0 0 var(--rl-led-500)}.product-picker-list img,.product-picker-list button>span:first-child,.product-panel-head img,.product-panel-head>span{background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;height:54px;-o-object-fit:contain;object-fit:contain;padding:4px;width:58px}.product-picker-list button>span:first-child,.product-panel-head>span{align-items:center;color:var(--rl-ink-400);display:flex;font-size:10px;justify-content:center;line-height:1.2;text-align:center}.product-picker-list b{color:var(--rl-ink-900);display:block;font-size:12.5px;font-weight:900;line-height:1.25;overflow-wrap:anywhere}.product-picker-list small{color:var(--rl-ink-500);display:block;font-size:11px;line-height:1.3;margin-top:3px;overflow-wrap:anywhere}.product-picker-list em{color:var(--rl-ink-500);font-family:var(--font-en);font-size:11px;font-style:normal;font-weight:900}.product-panel-head{align-items:center;border-bottom:1px solid var(--rl-line);display:grid;gap:12px;grid-template-columns:58px minmax(0,1fr) auto;padding:13px 14px}.product-panel-head strong{color:var(--rl-ink-900);display:block;font-size:15px;font-weight:950;line-height:1.25}.product-panel-head div span{color:var(--rl-ink-500);display:block;font-size:12px;line-height:1.35;margin-top:3px}.product-panel-head em{color:var(--rl-ink-800);font-family:var(--font-en);font-size:13px;font-style:normal;font-weight:950}.product-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.product-mode-grid--info{grid-template-columns:1.1fr .9fr}.product-mode-grid section{border-right:1px solid var(--rl-line);display:grid;gap:10px;padding:16px}.product-mode-grid section:last-child{border-right:0}.product-mode-grid h4,.product-part-cards strong,.product-cert-cards strong{color:var(--rl-ink-900);font-size:13px;font-weight:900;margin:0}.product-part-cards,.product-cert-cards{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.product-part-cards article,.product-cert-cards article{background:#fff;border:1px solid var(--rl-line);border-radius:10px;display:grid;gap:5px;min-height:88px;padding:12px}.product-part-cards span,.product-part-cards small,.product-cert-cards span{color:var(--rl-ink-600);font-size:12px;line-height:1.35}.product-cert-cards article{grid-template-columns:minmax(0,1fr) auto}.product-cert-cards span{grid-column:1 / -1;overflow-wrap:anywhere}.product-cert-cards em{font-family:var(--font-en);font-size:15px;font-style:normal;font-weight:950}.product-cert-cards .ok em{color:var(--rl-ok)}.product-cert-cards .missing em{color:var(--rl-danger)}.product-empty-panel{color:var(--rl-ink-500);font-size:13px;font-weight:750;padding:22px}.product-detail-panel{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:12px;box-shadow:var(--shadow-1);overflow:hidden}.product-detail-head{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:14px;justify-content:space-between;padding:12px 14px}.product-detail-title{align-items:center;display:grid;gap:12px;grid-template-columns:64px minmax(0,1fr);min-width:0}.product-detail-title img,.product-detail-title>span{background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;height:52px;-o-object-fit:contain;object-fit:contain;padding:4px;width:64px}.product-detail-title>span{align-items:center;background:var(--rl-surface-2);color:var(--rl-ink-400);display:flex;font-size:10.5px;justify-content:center}.product-detail-title strong{color:var(--rl-ink-900);display:block;font-size:14px;font-weight:900;line-height:1.25}.product-detail-title small{color:var(--rl-ink-500);display:block;font-size:12px;line-height:1.35;margin-top:3px}.product-detail-head button{background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:8px;color:var(--rl-ink-600);cursor:pointer;font:inherit;font-size:12px;font-weight:850;height:32px;padding:0 12px}.product-detail-grid{display:grid;grid-template-columns:1.2fr .9fr 1fr}.product-detail-grid section{border-right:1px solid var(--rl-line);display:grid;gap:10px;align-content:start;padding:14px}.product-detail-grid section:last-child{border-right:0}.product-detail-grid h4{color:var(--rl-ink-900);font-size:13px;font-weight:900;margin:0}.product-detail-list{display:grid;gap:8px;list-style:none;margin:0;padding:0}.product-detail-list li{background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:8px;display:grid;gap:3px;padding:9px 10px}.product-detail-list b,.product-detail-list span,.product-detail-list small{line-height:1.3}.product-detail-list b{color:var(--rl-ink-900);font-size:12.5px;font-weight:900}.product-detail-list span{color:var(--rl-ink-700);font-size:12px;font-weight:750}.product-detail-list small,.product-detail-empty{color:var(--rl-ink-500);font-size:11.5px}.product-detail-empty{margin:0}.product-detail-progress{display:grid;gap:8px;margin:0}.product-detail-progress div{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;justify-content:space-between;padding-bottom:8px}.product-detail-progress dt{color:var(--rl-ink-500);font-size:12px;font-weight:850}.product-detail-progress dd{color:var(--rl-ink-800);font-size:12px;font-weight:800;margin:0;text-align:right}.product-detail-certs{display:grid;gap:7px}.product-detail-certs span{align-items:center;border:1px solid var(--rl-line);border-radius:8px;display:flex;justify-content:space-between;min-height:34px;padding:0 10px}.product-detail-certs b{color:var(--rl-ink-700);font-size:12px;font-weight:850}.product-detail-certs em{font-family:var(--font-en);font-size:14px;font-style:normal;font-weight:950}.product-detail-certs .ok em{color:var(--rl-ok)}.product-detail-certs .missing em{color:var(--rl-danger)}.product-progress-panel{overflow:hidden}.product-progress-empty{display:grid;gap:6px;padding:22px}.product-progress-empty strong{color:var(--rl-ink-800);font-size:15px;font-weight:900}.product-progress-empty span{color:var(--rl-ink-500);font-size:13px}.products-master-tbl{min-width:1180px}.product-specs-wrap{overflow-x:auto}.product-specs-tbl{min-width:1320px}.product-specs-cell{align-items:center;display:grid;gap:12px;grid-template-columns:104px minmax(0,1fr);min-width:312px}.product-specs-image{background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;display:block;height:82px;-o-object-fit:contain;object-fit:contain;padding:4px;width:104px}.product-specs-image--empty{align-items:center;background:var(--rl-surface-2);color:var(--rl-ink-400);display:flex;font-size:10.5px;justify-content:center;line-height:1.2;padding:0 8px;text-align:center}.product-parts-wrap{overflow-x:auto}.product-parts-tbl{min-width:1340px}.product-parts-tbl th:nth-child(2),.product-parts-tbl td:nth-child(2){min-width:150px;white-space:nowrap}.product-parts-tbl th:nth-child(4),.product-parts-tbl td:nth-child(4){min-width:200px;white-space:nowrap}.product-parts-tbl .chip-mini{white-space:nowrap}.product-parts-pivot-tbl{min-width:1420px}.part-pivot-cell{display:grid;gap:4px;min-width:0}.part-pivot-cell b{color:var(--rl-ink-800);font-size:12.5px;font-weight:850;line-height:1.25}.part-pivot-cell span{color:var(--rl-ink-500);display:-webkit-box;font-size:11.5px;line-height:1.25;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}.part-empty{color:var(--rl-ink-300);font-weight:800}.product-certificates-wrap{overflow-x:auto}.product-certificates-tbl{min-width:1040px}.certificate-product-cell{align-items:center;display:grid;gap:12px;grid-template-columns:72px minmax(0,1fr);min-width:300px}.certificate-product-cell img,.certificate-product-empty{background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;height:56px;-o-object-fit:contain;object-fit:contain;padding:4px;width:72px}.certificate-product-empty{align-items:center;background:var(--rl-surface-2);color:var(--rl-ink-400);display:flex;font-size:10.5px;justify-content:center;line-height:1.2;text-align:center}.cert-ox-head,.cert-ox-cell{text-align:center;width:120px}.cert-ox-cell{font-family:var(--font-en);font-size:15px;font-weight:900}.cert-ox-cell.ok{color:var(--rl-ok)}.cert-ox-cell.missing{color:var(--rl-danger)}.empty-panel{padding:18px}.products-ledger-wrap{overflow-x:auto}.products-ledger{border-collapse:separate;border-spacing:0;font-size:13px;min-width:1180px;width:100%}.products-ledger thead th{background:var(--rl-surface-2);border-bottom:1px solid var(--rl-line);color:var(--rl-ink-500);font-size:11.5px;font-weight:700;padding:10px 12px;text-align:left;white-space:nowrap}.products-ledger tbody td{border-bottom:1px solid var(--rl-line);padding:14px 12px;vertical-align:middle}.products-ledger tbody tr.warn td{background:#b4231809}.products-ledger tbody tr:hover td{background:#fcfbf7}.row-no{color:var(--rl-ink-400);font-weight:700}.excel-sheet-wrap{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-2);overflow:auto;padding:18px;width:100%}.excel-sheet{background:#fff;color:#111;font-family:Pretendard Variable,Pretendard,sans-serif;border:4px solid #1b16ff;min-width:1040px;width:1040px}.sheet-title{border:2px solid #111;border-bottom:0;display:block;font-size:30px;font-weight:800;height:54px;line-height:54px;text-align:center}.sheet-meta{border:2px solid #111;border-bottom:0;display:grid;grid-template-columns:1fr 160px 160px;min-height:42px;width:100%}.sheet-meta>div{align-items:center;border-right:1px solid #111;display:flex;font-size:17px;font-weight:700;padding:0 12px}.sheet-meta>div:last-child{border-right:0}.sheet-grid{border:2px solid #111;border-bottom:0;width:100%}.sheet-grid,.sheet-row{display:grid;grid-template-columns:166px 180px 112px 104px 104px 126px 242px}.sheet-row{grid-column:1 / -1;width:100%}.cell{align-items:center;border-bottom:1px solid #111;border-right:1px solid #111;display:flex;font-size:15px;font-weight:700;justify-content:flex-start;line-height:1.28;min-height:60px;overflow:hidden;padding:6px 8px;white-space:pre-line;word-break:keep-all}.cell:nth-child(7n){border-right:0}.cell.head{background:#f7f7f7;font-size:15px;font-weight:800;justify-content:center;min-height:44px;text-align:center}.cell.sub{background:#fffdf0;font-weight:800;justify-content:center;min-height:38px}.cell.product{background:#ff0;font-weight:700;justify-content:center;text-align:center}.cell.spec,.cell.note,.cell.option-label{line-height:1.32;text-align:center}.cell.photo{background:#9a9a9a;justify-content:center;padding:0}.photo-box{align-items:center;background:linear-gradient(145deg,#ffffffdb,#ffffff29),radial-gradient(circle at 52% 50%,#fff 0 16%,#ddd 17% 27%,transparent 28%),#898989;color:transparent;display:grid;font-family:var(--font-mono);font-size:11px;height:100%;place-items:center;width:100%}.photo-0,.photo-8,.photo-9,.photo-10,.photo-14{background:linear-gradient(32deg,transparent 0 42%,#fff 43% 51%,transparent 52%),linear-gradient(32deg,transparent 0 58%,#fff 59% 66%,transparent 67%),#838383}.photo-1{background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 45%),linear-gradient(90deg,#5d7468 0,#5d7468 40%,#dad0bd 41%,#dad0bd)}.cell.num{font-family:var(--font-en);justify-content:flex-end;text-align:right;white-space:nowrap}.cell.red,.red{color:red}.cell.note{justify-content:center;text-align:center}.cell.note:has(+*){font-size:15px}.tone-blue .cell{background:#9dc4e2}.tone-blue .cell.photo{background:#8f8f8f}.tone-peach .cell{background:#f7caa8}.tone-blue .cell.product,.tone-peach .cell.product{background:inherit}.cell.strong,.strong{font-weight:800}.total-row .cell{background:#f7f7f7;font-size:15px}.sheet-footer{border:2px solid #111;border-top:0;display:grid;grid-template-columns:166px 1fr;width:100%}.footer-label,.footer-box{border-bottom:1px solid #111;border-right:1px solid #111;min-height:44px;padding:10px}.footer-label{align-items:center;display:flex;font-weight:800;justify-content:center}.footer-box{border-right:0}.sheet-footer .footer-label:nth-last-child(2),.sheet-footer .footer-box:last-child{border-bottom:0}.delivery-grid-card{background:linear-gradient(180deg,#fffffff5,#fffffffc),linear-gradient(135deg,#f6f4efe0,#fff3);border:1px solid var(--rl-line);border-radius:18px;box-shadow:var(--shadow-3);overflow:hidden}.delivery-grid-head{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:18px;padding:20px 22px}.delivery-grid-head .eyebrow{color:var(--rl-ink-500);font-family:var(--font-en);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.delivery-grid-head h2{color:var(--rl-ink-900);font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:4px 0 0}.delivery-grid-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-left:auto}.delivery-grid-meta span{background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:999px;color:var(--rl-ink-700);font-size:12px;font-weight:700;padding:6px 10px;white-space:nowrap}.delivery-grid-scroll{overflow-x:auto;overscroll-behavior-x:contain}.delivery-grid{display:grid;grid-template-columns:174px 202px 124px 96px 96px 112px 262px;min-width:1066px}.delivery-grid-row{display:contents}.grid-head,.grid-cell{align-items:center;border-bottom:1px solid var(--rl-line);border-right:1px solid var(--rl-line);display:flex;min-height:66px;padding:11px 12px;white-space:pre-line;word-break:keep-all}.grid-head:nth-child(7n),.grid-cell:nth-child(7n){border-right:0}.grid-head{background:#f7f4ec;color:var(--rl-ink-500);font-size:12px;font-weight:800;justify-content:center;line-height:1.25;min-height:50px;text-align:center}.grid-head span{color:var(--rl-ink-400);font-family:var(--font-en);font-size:11px;font-weight:700}.grid-cell{background:#ffffffc7;color:var(--rl-ink-800, var(--rl-ink-900));font-size:13.5px;line-height:1.36}.grid-cell.product{align-items:flex-start;background:#ffffffc7;flex-direction:column;justify-content:center}.grid-cell.product strong{color:var(--rl-ink-900);font-size:14px;font-weight:800;letter-spacing:-.02em}.product-index{color:var(--rl-ink-400);font-family:var(--font-en);font-size:10px;font-weight:900;letter-spacing:.08em}.grid-cell.spec,.grid-cell.note{color:var(--rl-ink-700);font-size:12.5px;justify-content:center;text-align:center}.grid-cell.photo{background:#efede7;justify-content:center;padding:8px}.product-image-thumb{background:linear-gradient(145deg,#ffffffc7,#ffffff1a),radial-gradient(circle at 50% 50%,rgba(255,255,255,.95) 0 18%,rgba(214,210,198,.8) 19% 30%,transparent 31%),#8b887f;border:1px solid rgba(20,19,15,.16);border-radius:10px;box-shadow:inset 0 1px 8px #ffffff47,0 6px 16px #14130f14;display:block;height:54px;width:84px}.product-image-thumb.photo-2,.product-image-thumb.photo-5{background:linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.72) 15% 22%,transparent 23% 100%),linear-gradient(180deg,#625f57 0,#625f57 46%,#d8d0bf 47%,#d8d0bf)}.product-image-thumb.photo-3{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.92) 0 24%,rgba(214,210,198,.86) 25% 44%,transparent 45%),#77746c}.product-image-thumb.photo-4{background:linear-gradient(135deg,transparent 0 42%,rgba(255,255,255,.82) 43% 54%,transparent 55%),linear-gradient(90deg,#6b7069 0,#6b7069 42%,#d7cbb7 43%,#d7cbb7)}.grid-cell.num{font-family:var(--font-en);font-feature-settings:"tnum";font-size:14px;font-weight:750;justify-content:flex-end;text-align:right;white-space:nowrap}.grid-cell.total{color:var(--rl-ink-900);font-size:15px;font-weight:850}.tone-blue .grid-cell,.tone-peach .grid-cell{background:#ffffffc7}.tone-blue .grid-cell.photo,.tone-peach .grid-cell.photo{background:#efede7}.summary-row .grid-cell{background:#f6f4ef;font-weight:850;min-height:56px}.summary-row .grid-cell.product{align-items:center}.summary-row .grid-cell.note{color:var(--rl-ink-500);font-size:12px}.delivery-grid-foot{background:#fbfaf7;display:grid;grid-template-columns:1fr 1fr}.delivery-grid-foot>div{border-right:1px solid var(--rl-line);padding:15px 22px}.delivery-grid-foot>div:last-child{border-right:0}.delivery-grid-foot strong{color:var(--rl-ink-900);display:block;font-size:13px;font-weight:800;margin-bottom:4px}.delivery-grid-foot span{color:var(--rl-ink-500);font-size:12.5px}.proposal-page{max-width:1440px}.proposal-summary{align-items:center;background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-1);color:var(--rl-ink-500);display:flex;flex-wrap:wrap;font-size:13px;gap:8px;margin:18px 0;padding:12px 14px}.proposal-summary span{border-right:1px solid var(--rl-line);padding-right:10px}.proposal-summary span:last-child{border-right:0}.proposal-summary b{color:var(--rl-ink-900);font-family:var(--font-en)}.proposal-tabs{overflow-x:auto}.proposal-tabs .proposal-tabs-title{color:var(--rl-ink-900);cursor:default;font-weight:800}.proposal-tabs a{align-items:center;border-bottom:2px solid transparent;color:var(--rl-ink-500);display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:600;height:38px;margin-bottom:-1px;padding:0 14px;text-decoration:none;white-space:nowrap}.proposal-tabs a:hover{color:var(--rl-ink-900)}.proposal-stack{display:grid;gap:26px}.proposal-sheet{background:#fff;border:1px solid var(--rl-line);border-radius:18px;box-shadow:var(--shadow-3);display:grid;gap:20px;margin:0 auto;max-width:1180px;padding:24px;scroll-margin-top:76px;width:100%}.proposal-sheet-head{align-items:flex-start;border-bottom:1px solid var(--rl-line);display:flex;gap:18px;padding-bottom:14px}.proposal-sheet-head span{color:var(--rl-ink-400);font-family:var(--font-en);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.proposal-sheet-head h1{font-size:24px;font-weight:850;letter-spacing:-.035em;line-height:1.18;margin:4px 0 0}.proposal-sheet-head strong{color:var(--rl-ink-300);font-family:var(--font-en);font-size:28px;font-weight:800;line-height:1;margin-left:auto}.proposal-upper{display:grid;gap:18px;grid-template-columns:minmax(340px,.94fr) minmax(320px,1.06fr)}.proposal-plan,.proposal-overview{border:1px solid var(--rl-line);border-radius:14px;min-height:320px}.proposal-plan{background:#f8f7f3;display:grid;grid-template-rows:auto 1fr;overflow:hidden}.plan-title{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:8px;padding:12px 14px}.plan-title strong{color:var(--rl-ink-800);font-size:13px;font-weight:850}.plan-title span{color:var(--rl-ink-400);font-family:var(--font-en);font-size:10px;font-weight:800;letter-spacing:.08em}.plan-canvas{min-height:276px;overflow:hidden;position:relative}.plan-canvas--image{background:#fff}.plan-canvas--missing{align-items:center;background:linear-gradient(135deg,rgba(20,19,15,.035) 25%,transparent 25%) 0 0 / 18px 18px,linear-gradient(135deg,transparent 75%,rgba(20,19,15,.035) 75%) 0 0 / 18px 18px,#f8f7f3;display:flex;justify-content:center;padding:24px}.plan-missing{align-items:center;border:1px dashed var(--rl-line-2);border-radius:12px;color:var(--rl-ink-500);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:188px;padding:24px;text-align:center;width:min(100%,360px)}.plan-missing b{color:var(--rl-ink-800);font-size:16px}.plan-missing span{color:var(--rl-ink-600);font-size:13px;font-weight:800}.plan-missing p{font-size:12px;line-height:1.5;margin:0}.plan-image{height:100%;top:0;right:0;bottom:0;left:0;-o-object-fit:contain;object-fit:contain;padding:10px;position:absolute;width:100%}.plan-zone{background:#ffffff8a;border:1px solid rgba(20,19,15,.16);border-radius:10px;position:absolute}.plan-zone.z1{height:44%;left:7%;top:10%;width:32%}.plan-zone.z2{height:26%;left:41%;top:10%;width:20%}.plan-zone.z3{height:28%;left:63%;top:10%;width:29%}.plan-zone.z4{height:32%;left:8%;top:58%;width:24%}.plan-zone.z5{height:18%;left:34%;top:57%;width:22%}.plan-zone.z6{height:30%;left:58%;top:58%;width:34%}.plan-zone.z7{height:12%;left:38%;top:78%;width:18%}.plan-zone.z8{height:14%;left:7%;top:76%;width:24%}.plan-zone.z9{height:14%;left:64%;top:42%;width:28%}.plan-zone.z10{height:11%;left:42%;top:41%;width:18%}.plan-pin{align-items:center;background:var(--rl-ink-900);border:2px solid #fff;border-radius:999px;box-shadow:0 8px 16px #14130f29;color:#fff;display:inline-flex;font-family:var(--font-en);font-size:10px;font-weight:850;height:30px;justify-content:center;position:absolute;width:30px;z-index:2}.plan-pin.p1{left:19%;top:28%}.plan-pin.p2{left:47%;top:22%}.plan-pin.p3{left:74%;top:22%}.plan-pin.p4{left:21%;top:68%}.plan-pin.p5{left:43%;top:62%}.plan-pin.p6{left:72%;top:69%}.plan-pin.p7{left:51%;top:83%}.plan-pin.p8{left:10%;top:82%}.plan-pin.p9{left:82%;top:46%}.plan-pin.p10{left:50%;top:46%}.plan-pin.p11{left:27%;top:84%}.plan-pin.p12{left:14%;top:52%}.plan-pin.p13{left:84%;top:82%}.plan-pin.p14{left:32%;top:18%}.plan-pin.p15{left:64%;top:18%}.plan-pin.p16{left:60%;top:46%}.plan-pin.p17{left:26%;top:46%}.plan-pin.p18{left:72%;top:54%}.proposal-overview{background:#fff;padding:24px}.proposal-kicker{color:var(--rl-ink-400);font-family:var(--font-en);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.proposal-overview h2{font-size:30px;font-weight:850;letter-spacing:-.04em;line-height:1.05;margin:10px 0 4px}.proposal-overview p{color:var(--rl-ink-500);font-size:16px;font-weight:700;margin:0 0 22px}.proposal-overview dl{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 20px}.proposal-overview dl div{border:1px solid var(--rl-line);border-radius:10px;padding:10px 12px}.proposal-overview dt{color:var(--rl-ink-400);font-size:11px;font-weight:700;margin-bottom:4px}.proposal-overview dd{color:var(--rl-ink-900);font-size:13px;font-weight:750;margin:0}.proposal-overview ul{color:var(--rl-ink-700);display:grid;font-size:13px;gap:8px;list-style:none;margin:0;padding:0}.proposal-overview li{border-top:1px solid var(--rl-line);padding-top:8px}.proposal-products{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.proposal-light-matrix{border:1px solid var(--rl-line);border-radius:14px;overflow:hidden}.proposal-light-matrix-head{align-items:center;background:var(--rl-surface-2);border-bottom:1px solid var(--rl-line);cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:10px 12px}.proposal-light-matrix-head::-webkit-details-marker{display:none}.proposal-light-matrix-head span,.proposal-light-matrix-head b{color:var(--rl-ink-500);font-family:var(--font-en);font-size:11px;font-weight:850;letter-spacing:.08em}.proposal-light-matrix-head:after{color:var(--rl-ink-400);content:"접기";font-size:11px;font-weight:800;margin-left:12px}.proposal-light-matrix:not([open]) .proposal-light-matrix-head{border-bottom:0}.proposal-light-matrix:not([open]) .proposal-light-matrix-head:after{content:"열기"}.proposal-light-table-wrap{overflow-x:auto;overscroll-behavior-x:contain}.proposal-light-table{border-collapse:separate;border-spacing:0;min-width:1120px;table-layout:fixed;width:-moz-max-content;width:max-content}.proposal-light-table th,.proposal-light-table td{border-bottom:1px solid var(--rl-line);border-right:1px solid var(--rl-line);min-width:118px;padding:8px;text-align:center;vertical-align:middle}.proposal-light-table tr>:last-child{border-right:0}.proposal-light-table tbody tr:last-child th,.proposal-light-table tbody tr:last-child td{border-bottom:0}.proposal-light-table thead th{background:#fffdf6;color:var(--rl-ink-800);height:134px}.proposal-light-table thead th b{display:block;font-size:12px;font-weight:900;line-height:1.25;margin:0 auto 7px;overflow-wrap:anywhere}.proposal-light-table thead th em{color:var(--rl-ink-500);display:block;font-size:11px;font-style:normal;font-weight:850;line-height:1.25;margin-top:7px}.proposal-light-table .proposal-light-corner,.proposal-light-table tbody th{background:var(--rl-surface-2);color:var(--rl-ink-500);font-size:12px;font-weight:900;left:0;min-width:76px;position:sticky;z-index:1}.proposal-light-table tbody td{background:#fff;height:52px}.proposal-light-thumb{align-items:center;background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;display:flex;height:58px;justify-content:center;margin:0 auto;overflow:hidden;width:86px}.proposal-light-thumb img{height:100%;-o-object-fit:contain;object-fit:contain;padding:4px;width:100%}.proposal-light-thumb span{color:var(--rl-ink-300);font-size:10px;font-weight:750}.proposal-light-ox{align-items:center;border-radius:999px;display:inline-flex;font-family:var(--font-en);font-size:14px;font-weight:900;height:30px;justify-content:center;width:38px}.proposal-light-ox.ok{background:#ecfdf3;color:var(--rl-ok)}.proposal-light-ox.missing{background:#fff1f2;color:var(--rl-danger)}.proposal-product{background:#fff;border:1px solid var(--rl-line);border-radius:14px;display:grid;grid-template-rows:138px 1fr;min-height:282px;overflow:hidden}.proposal-product-image{align-items:center;background:#fff;border-bottom:1px solid var(--rl-line);display:flex;justify-content:center;overflow:hidden;position:relative}.proposal-product-image img{height:100%;-o-object-fit:contain;object-fit:contain;padding:6px;width:100%}.proposal-product-image span{background:#ffffffdb;border:1px solid rgba(20,19,15,.14);border-radius:999px;color:var(--rl-ink-700);font-family:var(--font-en);font-size:12px;font-weight:850;padding:5px 8px;position:absolute;right:8px;top:8px}.proposal-product-image--empty span{position:static}.proposal-product-image--empty{background:linear-gradient(145deg,#ffffffc2,#ffffff1f),radial-gradient(circle at 50% 48%,rgba(255,255,255,.88) 0 18%,rgba(214,210,198,.86) 19% 33%,transparent 34%),#89867e;border-bottom:0}.proposal-product-body{display:flex;flex-direction:column;padding:11px 12px 12px}.proposal-product-top{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.proposal-product-top span,.proposal-product-top b{color:var(--rl-ink-500);font-family:var(--font-en);font-size:11px;font-weight:800}.proposal-product h3{font-size:13.5px;font-weight:850;letter-spacing:-.025em;line-height:1.25;margin:0 0 6px}.proposal-product p{color:var(--rl-ink-700);font-size:11.5px;line-height:1.32;margin:0}.proposal-product small{border-top:1px solid var(--rl-line);color:var(--rl-ink-500);font-size:10.8px;line-height:1.34;margin-top:auto;padding-top:8px}.sync-panel{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-1);margin:0 0 20px;overflow:hidden}.upload-zone{align-items:center;display:flex;gap:14px;padding:14px 16px}.sync-steps{border-top:1px solid var(--rl-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.sync-step{color:var(--rl-ink-500);font-size:12px;font-weight:700;padding:10px 14px;text-align:center}.sync-step.on{background:var(--rl-led-100);color:var(--rl-led-900)}.excel-mark{align-items:center;background:#e5f4eb;border:1px solid rgba(24,121,78,.18);border-radius:8px;color:var(--rl-ok);display:grid;font-family:var(--font-en);font-size:12px;font-weight:800;height:42px;place-items:center;width:42px}.source-title{color:var(--rl-ink-900);font-size:14px;font-weight:700;word-break:keep-all}.source-meta{color:var(--rl-ink-500);font-size:12px;margin-top:3px}.chip-mini{background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:999px;color:var(--rl-ink-700);display:inline-flex;font-size:12px;font-weight:700;padding:2px 8px}.delivery-tbl-wrap{overflow-x:auto}.delivery-tbl{margin:0 auto;min-width:1080px}.delivery-tbl tbody td{vertical-align:middle}.delivery-tbl .type-qty-head,.delivery-tbl .type-qty-cell{min-width:96px;text-align:center;white-space:nowrap}.delivery-tbl .type-qty-cell{color:var(--rl-ink-700);font-weight:750}.household-matrix-panel{margin:18px 0}.household-filters{align-items:end;border-bottom:1px solid var(--rl-line);display:flex;gap:10px;padding:12px 14px}.household-filters label{display:grid;gap:5px}.household-filters label span{color:var(--rl-ink-500);font-size:11px;font-weight:850}.household-filters input{background:#fff;border:1px solid var(--rl-line);border-radius:8px;color:var(--rl-ink-800);font:inherit;height:34px;padding:0 10px;width:120px}.household-filters button{background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:8px;color:var(--rl-ink-600);cursor:pointer;font:inherit;font-size:12px;font-weight:850;height:34px;padding:0 12px}.household-matrix-wrap{max-height:520px;overflow:auto}.household-matrix{border-collapse:separate;border-spacing:0;font-size:12.5px;margin:0 auto;min-width:1680px;width:-moz-max-content;width:max-content}.household-matrix th,.household-matrix td{border-bottom:1px solid var(--rl-line);border-right:1px solid var(--rl-line);padding:8px 10px;text-align:center;white-space:nowrap}.household-matrix th{background:var(--rl-surface-2);color:var(--rl-ink-500);font-size:11.5px;font-weight:800;position:sticky;top:0;z-index:1}.household-matrix th:first-child,.household-matrix td:first-child{left:0;min-width:100px;position:sticky;text-align:left;z-index:2}.household-matrix th:first-child{z-index:3}.household-matrix td:first-child{background:#fff}.household-matrix th:nth-child(2),.household-matrix td:nth-child(2){min-width:180px;text-align:left}.household-matrix .slot-head,.household-matrix .slot-cell{min-width:132px}.household-matrix .slot-head{max-width:148px;white-space:normal}.household-matrix .slot-head b{color:var(--rl-ink-800);display:block;font-size:12px;line-height:1.1}.household-matrix .slot-head span{display:-webkit-box;font-size:11px;line-height:1.25;margin-top:4px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.slot-product-preview{align-items:center;display:grid;gap:5px;justify-items:center;margin-top:7px}.slot-product-preview img,.slot-product-preview>span{background:#fff;border:1px solid var(--rl-line-2);border-radius:8px;height:54px;-o-object-fit:contain;object-fit:contain;padding:4px;width:72px}.slot-product-preview>span{align-items:center;background:var(--rl-surface);color:var(--rl-ink-300);display:flex;font-size:10px;font-weight:750;justify-content:center;line-height:1.2}.slot-product-preview em{color:var(--rl-ink-500);font-size:10.5px;font-style:normal;font-weight:850;line-height:1.2}.household-matrix .slot-cell.on{color:var(--rl-ok);font-weight:850}.household-matrix .slot-cell.off{background:#faf9f4;color:var(--rl-ink-300)}.as-form-section{display:grid;gap:12px;margin:18px 0}.as-form-head{align-items:end;display:flex;justify-content:space-between}.as-form-head p{color:var(--rl-ink-500);font-size:12px;font-weight:800;letter-spacing:0;margin:0 0 4px}.as-form-head h2{font-size:18px;margin:0}.as-form-head span{color:var(--rl-ink-400);font-size:12px;font-weight:800}.as-form-section .file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.as-form-section .file-card{grid-template-rows:420px auto}.as-form-section .file-thumb{background:#fff;height:420px;-o-object-fit:contain;object-fit:contain}.as-form-preview-list{display:grid;gap:18px}.as-form-preview{background:#fff;border:1px solid var(--rl-line);border-radius:10px;overflow:hidden}.as-form-preview-title{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.as-form-preview-title strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-form-preview-title a{color:var(--rl-led-700);font-size:12px;font-weight:850;text-decoration:none;white-space:nowrap}.as-form-preview img{background:#fff;display:block;height:auto;width:100%}.type-distribution-panel{margin:18px 0}.type-distribution-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.type-distribution-item{align-items:center;background:var(--rl-surface-2);border:1px solid var(--rl-line);border-radius:8px;display:flex;gap:10px;justify-content:space-between;min-width:0;padding:12px}.type-distribution-item strong{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-distribution-item span{color:var(--rl-ink-500);font-size:12px;font-weight:850;white-space:nowrap}.plan-note{color:var(--rl-ink-500);font-size:12.5px}.file-groups{display:grid;gap:18px}.file-group{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:12px;overflow:hidden}.file-group-head{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:10px;padding:14px 16px}.file-group-head h3{font-size:14px;margin:0}.file-group-head span{color:var(--rl-ink-400);font-size:12px;font-weight:700}.file-grid{display:grid;gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));padding:16px}.file-card{background:#fff;border:1px solid var(--rl-line);border-radius:10px;color:inherit;cursor:pointer;display:grid;grid-template-rows:148px auto;min-width:0;overflow:hidden;padding:0;position:relative;text-align:left}.file-card:hover{border-color:var(--rl-line-2);box-shadow:var(--shadow-2)}.file-thumb{background:#f1efe8;display:block;height:148px;-o-object-fit:cover;object-fit:cover;width:100%}.file-thumb--pdf,.file-thumb--drawing{align-items:center;color:var(--rl-ink-500);display:flex;flex-direction:column;gap:8px;justify-content:center}.file-thumb--pdf{background:#eef6ff;color:#1d4f8f}.file-thumb--drawing{background:var(--rl-surface-2)}.file-thumb b{font-size:11px}.file-card-body{display:grid;gap:5px;min-width:0;padding:12px}.file-card-body strong{font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}.file-card-body span{color:var(--rl-ink-400);font-size:11.5px}.file-open{align-items:center;background:#14130fb3;border-radius:999px;color:#fff;display:grid;height:28px;place-items:center;position:absolute;right:10px;top:10px;width:28px}.modal-back{align-items:center;background:#14130f66;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:none;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:100}.modal-back.open{display:flex}.modal-box{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:14px;box-shadow:var(--shadow-3);max-width:92vw;overflow:hidden;width:520px}.modal-box--wide{width:min(1120px,94vw)}.modal-box .mh{align-items:center;border-bottom:1px solid var(--rl-line);display:flex;gap:10px;padding:16px 20px}.modal-box .mh h4{font-size:15px;font-weight:700;margin:0}.modal-box .x{border-radius:6px;color:var(--rl-ink-400);cursor:pointer;font-size:18px;margin-left:auto;padding:4px 8px}.modal-box .mb{display:grid;gap:18px;grid-template-columns:160px 1fr;padding:18px 20px}.pdf-prev{aspect-ratio:3 / 4;background:repeating-linear-gradient(135deg,#f0ede5 0,#f0ede5 8px,#e7e3d9 8px,#e7e3d9 16px);border:1px solid var(--rl-line);border-radius:8px;color:var(--rl-ink-500);display:grid;font-family:var(--font-mono);font-size:10px;place-items:center;text-align:center}.modal-box dl{display:grid;font-size:13px;grid-template-columns:80px 1fr;margin:0;row-gap:10px}.modal-box dt{color:var(--rl-ink-500)}.modal-box dd{font-weight:500;margin:0}.miss-banner{background:var(--rl-warn-bg);border-bottom:1px solid rgba(180,35,24,.18);color:var(--rl-warn);font-size:12.5px;font-weight:700;padding:10px 14px}.modal-box .mf{background:#fcfbf8;border-top:1px solid var(--rl-line);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.file-preview-body{background:#111;display:grid;min-height:min(70vh,720px);place-items:center}.file-preview-image{max-height:min(70vh,720px);max-width:100%;-o-object-fit:contain;object-fit:contain}.file-preview-frame{background:#fff;border:0;height:min(70vh,720px);width:100%}.file-preview-empty{color:#fff;font-size:14px;padding:40px;text-align:center}.login-page{align-items:center;display:grid;min-height:calc(100vh - 56px);padding:32px}.login-card{background:var(--rl-surface);border:1px solid var(--rl-line);border-radius:18px;box-shadow:var(--shadow-3);margin:0 auto;max-width:420px;padding:28px}.login-card h1{font-size:24px;margin:16px 0 8px}.login-card p{color:var(--rl-ink-500);font-size:14px;line-height:1.6;margin:0 0 18px}@media(max-width:1200px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1360px){.grid,.file-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1100px){.two-col,.product-workbench-layout{grid-template-columns:1fr}.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-metric:nth-child(2){border-right:0}.ops-metric:nth-child(n+3){border-top:1px solid var(--rl-line)}.header-search{display:none}.proposal-upper{grid-template-columns:1fr}.proposal-products,.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.type-distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.grid,.bot-row,.file-grid,.as-form-section .file-grid,.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ph-head{align-items:flex-start;grid-template-columns:1fr}.proposal-products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.app-header{gap:10px;height:auto;min-height:56px;padding:10px 16px}.app-header nav a:nth-child(n+3),.app-header .btn,.user span:not(.avatar){display:none}.page{padding:18px 16px 56px}.tabs,.filters{overflow-x:auto}.grid,.bot-row,.summary,.file-grid,.type-distribution-grid,.as-form-section .file-grid{grid-template-columns:1fr}.as-form-section .file-card{grid-template-rows:340px auto}.as-form-section .file-thumb{height:340px}.pcard{grid-template-columns:4px 1fr}.pcard .ph{display:none}.tl-card{padding:16px}.tl-top{align-items:flex-start}.tl{gap:4px}.tl .step{padding-right:0}.tl .dot-wrap{height:6px}.tl .dot{display:none}.tl .bar,.tl .step:last-child .bar{display:block;height:5px;width:100%}.tl .label,.tl .when{display:none}.ops-board-head{align-items:flex-start;flex-direction:column;gap:10px}.ops-metrics,.ops-lists{grid-template-columns:1fr}.ops-metric{border-right:0;min-height:94px}.ops-metric+.ops-metric{border-top:1px solid var(--rl-line)}.ops-list+.ops-list{border-left:0;border-top:1px solid var(--rl-line)}.ops-auto{grid-template-columns:1fr}.cert-tbl,.as-tbl{min-width:780px}.delivery-source{align-items:flex-start;flex-wrap:wrap}.proposal-summary span{border-right:0}.proposal-sheet{border-radius:14px;padding:16px}.proposal-sheet-head h1{font-size:20px}.proposal-sheet-head strong{font-size:22px}.proposal-plan,.proposal-overview{min-height:auto}.plan-canvas{min-height:230px}.proposal-overview{padding:18px}.proposal-overview h2{font-size:24px}.proposal-overview dl,.proposal-products,.product-mode-grid,.product-mode-grid--info,.product-part-cards,.product-cert-cards{grid-template-columns:1fr}.delivery-grid-head{align-items:flex-start;flex-direction:column;padding:18px}.delivery-grid-head h2{font-size:19px}.delivery-grid-meta{justify-content:flex-start;margin-left:0}.delivery-grid-foot{grid-template-columns:1fr}.delivery-grid-foot>div{border-bottom:1px solid var(--rl-line);border-right:0;padding:14px 18px}.delivery-grid-foot>div:last-child{border-bottom:0}.upload-zone{align-items:flex-start;flex-wrap:wrap}.sync-steps{grid-template-columns:1fr 1fr}.panel{overflow-x:auto}.modal-box .mb{grid-template-columns:1fr}}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.hover\:bg-slate-100:hover{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-200:hover{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:brightness-95:hover{--tw-brightness: brightness(.95);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-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-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}
