:root{--pat-hex: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='84' height='96'><path d='M42 2 80 24v48L42 94 4 72V24Z' fill='none' stroke='rgba(255,255,255,0.16)'/></svg>");--pat-circuit: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='96'><g fill='none' stroke='rgba(255,255,255,0.15)'><path d='M0 24h30l10 10h56M24 96V66l12-12h24'/><circle cx='40' cy='34' r='2.5'/><circle cx='60' cy='54' r='2.5'/></g></svg>");--pat-molecule: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='96' height='96'><g fill='none' stroke='rgba(255,255,255,0.15)'><path d='M22 30 48 45 74 30M48 45v28'/><circle cx='18' cy='28' r='4'/><circle cx='78' cy='28' r='4'/><circle cx='48' cy='77' r='4'/></g></svg>");--pat-grid: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48'><path d='M48 0H0v48' fill='none' stroke='rgba(255,255,255,0.12)'/></svg>");--pat-wave: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='40'><path d='M0 20q30-18 60 0t60 0' fill='none' stroke='rgba(255,255,255,0.15)'/></svg>");--pat-dots: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28'><circle cx='14' cy='14' r='1.4' fill='rgba(255,255,255,0.22)'/></svg>");--pat-diagonal: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28'><path d='M-7 7 7-7M0 28 28 0M21 35 35 21' fill='none' stroke='rgba(255,255,255,0.12)'/></svg>")}.login-scene{position:relative;isolation:isolate;overflow:hidden;display:flex;--px: 0;--py: 0;background:linear-gradient(160deg,var(--scene-a),var(--scene-b) 58%,var(--scene-c))}.login-scene>*{position:absolute;inset:0;pointer-events:none}.scene-content{position:relative;inset:auto;flex:1;z-index:2;pointer-events:auto}.scene-slide{background-image:linear-gradient(160deg,color-mix(in srgb,var(--scene-a) 74%,transparent),color-mix(in srgb,var(--scene-c) 90%,transparent)),var(--img);background-size:cover;background-position:center;opacity:0;z-index:0;clip-path:inset(0 0 0 100%);animation:scene-zoom 14s ease-in-out infinite alternate;animation-delay:calc(var(--k, 0) * -3.5s)}.scene-slide.is-prev{opacity:1;clip-path:inset(0)}.scene-slide.is-active{opacity:1;clip-path:inset(0);z-index:1;transition:opacity 1.2s ease-in-out,clip-path 1.4s cubic-bezier(.2,.7,.2,1)}.scene-orb{inset:auto;width:60vmin;height:60vmin;border-radius:50%;filter:blur(60px);opacity:var(--orb-op);translate:calc(var(--px) * 14px) calc(var(--py) * 14px);z-index:1}.scene-orb--a{top:-15%;left:-10%;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--canvas-accent) 70%,var(--canvas-deep)),transparent 65%);animation:scene-drift-a 26s ease-in-out infinite alternate}.scene-orb--b{top:25%;right:-15%;background:radial-gradient(circle,color-mix(in srgb,var(--canvas-deep) 55%,#22d3ee),transparent 65%);animation:scene-drift-b 32s ease-in-out infinite alternate}.scene-orb--c{bottom:-25%;left:20%;width:70vmin;height:70vmin;opacity:calc(var(--orb-op) * .55);background:radial-gradient(circle,var(--canvas-accent),transparent 65%);animation:scene-drift-c 38s ease-in-out infinite alternate}.scene-pattern{z-index:1;background-image:var(--pat);opacity:.7;-webkit-mask-image:radial-gradient(ellipse at 68% 58%,black 8%,transparent 68%);mask-image:radial-gradient(ellipse at 68% 58%,black 8%,transparent 68%);animation:scene-pan 60s linear infinite}.scene-net{z-index:1;width:100%;height:100%;opacity:.5;translate:calc(var(--px) * -10px) calc(var(--py) * -10px);animation:scene-net-float 28s ease-in-out infinite alternate}.scene-net line{stroke:#fff3;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:6 10;animation:scene-net-dash 9s linear infinite;animation-delay:calc(var(--n, 0) * -.7s)}.scene-net circle{fill:var(--canvas-accent);animation:scene-net-pulse 3.4s ease-in-out infinite;animation-delay:calc(var(--n, 0) * -.45s)}.scene-sweep{z-index:1;background:linear-gradient(115deg,transparent 40%,rgb(255 255 255 / .1) 50%,transparent 60%);background-size:250% 100%;animation:scene-sweep 11s ease-in-out infinite}.scene-dots{z-index:1}.scene-dots i{position:absolute;bottom:-8px;left:calc(var(--n) * 7.3%);width:4px;height:4px;border-radius:50%;background:#ffffff8c;opacity:0;animation:scene-rise-dot linear infinite;animation-duration:calc(11s + var(--n) * .7s);animation-delay:calc(var(--n) * -1.1s)}.scene-corner{inset:auto 28px 22px auto;z-index:2;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;color:#ffffffc7;text-shadow:0 1px 8px rgb(0 0 0 / .4)}.scene-caption{animation:scene-caption .7s cubic-bezier(.2,.7,.2,1) both}.scene-count{font-variant-numeric:tabular-nums;color:#ffffff80}.scene-bar{position:relative;display:block;width:56px;height:2px;overflow:hidden;border-radius:1px;background:#ffffff2e}.scene-bar:after{content:"";position:absolute;inset:0;background:#fffc;transform-origin:left;animation:scene-bar var(--ms, 5.5s) linear both}.scene-rise{animation:scene-in .7s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i, 0) * .11s)}@keyframes scene-zoom{0%{transform:scale(1.02)}to{transform:scale(1.12) translate(-1.5%,1.5%)}}@keyframes scene-drift-a{to{transform:translate(12%,18%) rotate(25deg)}}@keyframes scene-drift-b{to{transform:translate(-18%,-12%) scale(1.15)}}@keyframes scene-drift-c{to{transform:translate(22%,-16%)}}@keyframes scene-pan{to{background-position:336px 384px}}@keyframes scene-sweep{0%,35%{background-position:120% 0}65%,to{background-position:-120% 0}}@keyframes scene-rise-dot{0%{transform:translateY(0) scale(.6);opacity:0}10%{opacity:.8}90%{opacity:.2}to{transform:translateY(-105vh) scale(1.2);opacity:0}}@keyframes scene-net-float{to{transform:translate(-2%,1.5%) scale(1.04)}}@keyframes scene-net-dash{to{stroke-dashoffset:-160}}@keyframes scene-net-pulse{0%,to{opacity:.35;r:.35}50%{opacity:1;r:.6}}@keyframes scene-caption{0%{opacity:0;transform:translateY(6px);letter-spacing:.3em}to{opacity:1;transform:none;letter-spacing:.14em}}@keyframes scene-bar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes scene-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.login-scene *,.scene-rise{animation:none!important;transition:none!important}.login-scene .scene-slide{clip-path:none}.login-scene .scene-slide.is-active{transition:opacity .9s linear!important}.login-scene .scene-bar:after{animation:scene-bar var(--ms, 5.5s) linear both!important}}:root{--radius: 10px;--font: "Pretendard Variable", Pretendard, "Malgun Gothic", system-ui, sans-serif;--surface-l: #f4f4f6;--panel-l: #ffffff;--ink-l: #1a1a1f;--muted-l: #62626e;--line-l: #e2e2e8;--surface-d: #111114;--panel-d: #1b1b20;--ink-d: #ececf1;--muted-d: #a4a4b0;--line-d: #34343c;--danger-l: #c0262d;--danger-d: #ff6b6b;--p: #0e7490;--brand-l: var(--p);--brand-ink-l: #ffffff;--brand-soft-l: color-mix(in srgb, var(--p) 12%, #fff);--accent-l: color-mix(in srgb, var(--p) 78%, #000);--accent-soft-l: color-mix(in srgb, var(--p) 10%, #fff);--focus-l: color-mix(in srgb, var(--p) 60%, #fff);--brand-d: color-mix(in srgb, var(--p) 50%, #fff);--brand-ink-d: #0a0f18;--brand-soft-d: color-mix(in srgb, var(--p) 30%, #111114);--accent-d: color-mix(in srgb, var(--p) 38%, #fff);--accent-soft-d: color-mix(in srgb, var(--p) 22%, #111114);--focus-d: color-mix(in srgb, var(--p) 45%, #fff);--canvas: color-mix(in srgb, var(--p) 22%, #070b12);--canvas-deep: color-mix(in srgb, var(--p) 72%, #0b1220);--canvas-ink: #eef3fb;--canvas-accent: color-mix(in srgb, var(--p) 35%, #fff);--pat: var(--pat-circuit);--scene-a: var(--canvas-deep);--scene-b: color-mix(in srgb, var(--canvas-deep) 45%, var(--canvas));--scene-c: var(--canvas);--orb-op: .55}:root[data-palette=battery]{--p: #005793}:root[data-palette=chemical]{--p: #0f766e}:root[data-palette=petrochem]{--p: #b45309}:root[data-palette=steel]{--p: #334155}:root[data-palette=materials]{--p: #4f46e5}:root[data-palette=semiconductor]{--p: #1d4ed8}:root[data-palette=display]{--p: #7c3aed}:root[data-palette=electronics]{--p: #0369a1}:root[data-palette=automotive]{--p: #be123c}:root[data-palette=machinery]{--p: #475569}:root[data-palette=shipbuilding]{--p: #075985}:root[data-palette=aerospace]{--p: #1e3a8a}:root[data-palette=pharma]{--p: #0d9488}:root[data-palette=bio]{--p: #059669}:root[data-palette=medical]{--p: #0284c7}:root[data-palette=food]{--p: #c2410c}:root[data-palette=cosmetics]{--p: #be185d}:root[data-palette=energy]{--p: #15803d}:root[data-palette=utility]{--p: #1e40af}:root[data-palette=construction]{--p: #a16207}:root[data-palette=logistics]{--p: #ea580c}:root[data-palette=finance]{--p: #1e3a5f}:root[data-palette=public]{--p: #1d4f91}:root[data-palette=education]{--p: #6d28d9}:root:is([data-palette=battery],[data-palette=materials],[data-palette=education],[data-palette=emerald]){--pat: var(--pat-hex)}:root:is([data-palette=chemical],[data-palette=petrochem],[data-palette=pharma],[data-palette=bio]){--pat: var(--pat-molecule)}:root:is([data-palette=steel],[data-palette=display],[data-palette=aerospace],[data-palette=construction],[data-palette=navy],[data-palette=slate]){--pat: var(--pat-grid)}:root:is([data-palette=automotive],[data-palette=machinery],[data-palette=logistics],[data-palette=bull]){--pat: var(--pat-diagonal)}:root:is([data-palette=shipbuilding],[data-palette=cosmetics],[data-palette=energy]){--pat: var(--pat-wave)}:root:is([data-palette=medical],[data-palette=food],[data-palette=finance],[data-palette=public],[data-palette=violet]){--pat: var(--pat-dots)}:root:is([data-palette=steel],[data-palette=display],[data-palette=automotive],[data-palette=aerospace],[data-palette=utility],[data-palette=finance],[data-palette=slate]){--scene-a: #000204;--scene-b: color-mix(in srgb, var(--canvas-deep) 55%, #000810);--scene-c: #000409;--orb-op: .28}:root:is([data-palette=pharma],[data-palette=medical],[data-palette=cosmetics],[data-palette=public],[data-palette=education]){--scene-a: color-mix(in srgb, var(--canvas-deep) 68%, #fff);--scene-b: var(--canvas-deep);--scene-c: color-mix(in srgb, var(--canvas-deep) 55%, var(--canvas));--orb-op: .7}:root[data-palette=bull]{--brand-l: #b3261e;--brand-ink-l: #fff8f3;--brand-soft-l: #f9e6e3;--accent-l: #8a6414;--accent-soft-l: #f6ecd2;--focus-l: #d4a84a;--brand-d: #e5484d;--brand-ink-d: #1a0505;--brand-soft-d: #3a1414;--accent-d: #e6c36a;--accent-soft-d: #3a2e12;--focus-d: #f0d488;--surface-l: #f4f1ee;--ink-l: #1d1512;--muted-l: #6b5f58;--line-l: #e4dcd6;--surface-d: #120d0b;--panel-d: #1c1512;--ink-d: #f3ebe4;--muted-d: #b3a79e;--line-d: #3a2f29;--canvas: #1a0f0a;--canvas-deep: #8f1d1d;--canvas-ink: #fbefd9;--canvas-accent: #d4a84a}:root[data-palette=navy]{--brand-l: #1f4fa3;--brand-ink-l: #ffffff;--brand-soft-l: #e3ebf9;--accent-l: #0f7c86;--accent-soft-l: #dcf1f2;--focus-l: #4c8dff;--brand-d: #6e9bff;--brand-ink-d: #07122a;--brand-soft-d: #14213d;--accent-d: #5fd0d8;--accent-soft-d: #10302f;--focus-d: #8fb4ff;--canvas: #0b1424;--canvas-deep: #1b3a6e;--canvas-ink: #e6eefc;--canvas-accent: #7fb0ff}:root[data-palette=emerald]{--brand-l: #0f7a55;--brand-ink-l: #f2fff9;--brand-soft-l: #dff3ea;--accent-l: #7a5a12;--accent-soft-l: #f3ead3;--focus-l: #2bb57f;--brand-d: #3ecf8e;--brand-ink-d: #04140d;--brand-soft-d: #0f2e22;--accent-d: #e0c068;--accent-soft-d: #352a10;--focus-d: #7ee2b5;--canvas: #08170f;--canvas-deep: #125c40;--canvas-ink: #e8f7ef;--canvas-accent: #d4b25a}:root[data-palette=violet]{--brand-l: #6a3fc2;--brand-ink-l: #faf7ff;--brand-soft-l: #ece4fb;--accent-l: #b04a82;--accent-soft-l: #f8e3ef;--focus-l: #8f6ae8;--brand-d: #a585ff;--brand-ink-d: #130a26;--brand-soft-d: #261a44;--accent-d: #f08cc0;--accent-soft-d: #3a1830;--focus-d: #c4afff;--canvas: #140d24;--canvas-deep: #4a2a8a;--canvas-ink: #f1ebff;--canvas-accent: #c9a8ff}:root[data-palette=slate]{--brand-l: #334155;--brand-ink-l: #f8fafc;--brand-soft-l: #e6e9ee;--accent-l: #b45309;--accent-soft-l: #fdf0dc;--focus-l: #64748b;--brand-d: #cbd5e1;--brand-ink-d: #0f172a;--brand-soft-d: #1e293b;--accent-d: #f59e0b;--accent-soft-d: #3a2a10;--focus-d: #94a3b8;--canvas: #0f172a;--canvas-deep: #334155;--canvas-ink: #e2e8f0;--canvas-accent: #f59e0b}:root{--brand: var(--brand-l);--brand-ink: var(--brand-ink-l);--brand-soft: var(--brand-soft-l);--accent: var(--accent-l);--accent-soft: var(--accent-soft-l);--focus: var(--focus-l);--surface: var(--surface-l);--panel: var(--panel-l);--ink: var(--ink-l);--muted: var(--muted-l);--line: var(--line-l);--danger: var(--danger-l);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--brand: var(--brand-d);--brand-ink: var(--brand-ink-d);--brand-soft: var(--brand-soft-d);--accent: var(--accent-d);--accent-soft: var(--accent-soft-d);--focus: var(--focus-d);--surface: var(--surface-d);--panel: var(--panel-d);--ink: var(--ink-d);--muted: var(--muted-d);--line: var(--line-d);--danger: var(--danger-d);color-scheme:dark}}:root[data-theme=dark]{--brand: var(--brand-d);--brand-ink: var(--brand-ink-d);--brand-soft: var(--brand-soft-d);--accent: var(--accent-d);--accent-soft: var(--accent-soft-d);--focus: var(--focus-d);--surface: var(--surface-d);--panel: var(--panel-d);--ink: var(--ink-d);--muted: var(--muted-d);--line: var(--line-d);--danger: var(--danger-d);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--surface);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:7px 14px;cursor:pointer}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.55;cursor:default}.input,.select{width:100%;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:8px 10px}.error{color:var(--danger);font-size:13px}.login{display:grid;grid-template-columns:minmax(0,1fr) minmax(432px,28%);min-height:100vh}.login-brand{color:var(--canvas-ink);display:flex;flex-direction:column;justify-content:space-between;padding:56px 64px;text-shadow:0 1px 12px rgb(0 0 0 / .35);word-break:keep-all}.login-brand .mark{display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:.04em}.login-brand .mark img{width:52px;height:52px;border-radius:50%;box-shadow:0 0 0 2px var(--canvas-accent)}.login-brand h1{font-size:40px;line-height:1.25;margin:0 0 16px;font-weight:700}.login-brand h1 em{font-style:normal;color:var(--canvas-accent)}.login-brand p{margin:0;opacity:.78;max-width:420px;line-height:1.6}.login-brand small{opacity:.55}.login-form-wrap{position:relative;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:var(--panel)}.theme-picker.corner{position:absolute;bottom:20px;right:24px}.theme-picker.corner .theme-pop{top:auto;bottom:calc(100% + 8px)}.theme-fab{width:36px;height:36px;padding:0;border-radius:50%;display:grid;place-items:center;color:var(--muted)}.theme-fab:hover,.theme-fab[aria-expanded=true]{color:var(--ink)}.login-form{width:100%;max-width:360px;display:grid;gap:18px}.login-form h2{margin:0;font-size:24px}.login-form .sub{margin:-10px 0 6px;color:var(--muted)}.login-form label{display:grid;gap:6px;font-weight:600;font-size:13px}.login-form .btn.primary{padding:11px;font-size:15px}@media(max-width:900px){.login{grid-template-columns:1fr}.login-brand{padding:32px 24px;gap:24px}.login-brand h1{font-size:28px}}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:var(--canvas);color:var(--canvas-ink);display:flex;flex-direction:column;padding:18px 12px;gap:4px}.side .mark{display:flex;align-items:center;gap:10px;font-weight:700;padding:4px 8px 18px}.side .mark img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 1.5px var(--canvas-accent)}.side a{color:inherit;text-decoration:none;padding:9px 12px;border-radius:8px;opacity:.8}.side a:hover{opacity:1;background:#ffffff0f}.side a.active{opacity:1;background:var(--canvas-deep);font-weight:600}.side .group{font-size:11px;letter-spacing:.08em;opacity:.5;padding:14px 12px 4px}.main{display:flex;flex-direction:column;min-width:0}.top{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--line);background:var(--panel)}.top h1{font-size:18px;margin:0}.top .who{display:flex;align-items:center;gap:10px;color:var(--muted)}.content{padding:20px 24px;display:grid;gap:16px;align-content:start}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.card .label{color:var(--muted);font-size:13px}.card .value{font-size:30px;font-weight:700;margin-top:6px}.card a{color:var(--accent);text-decoration:none;font-size:13px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar .input{width:260px}.toolbar .select{width:auto}.toolbar .spacer{flex:1}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:600;background:var(--surface);position:sticky;top:0}th button{background:none;border:0;padding:0;cursor:pointer;font-weight:inherit;color:inherit}tbody tr{cursor:pointer}tbody tr:hover{background:var(--brand-soft)}td.empty{text-align:center;color:var(--muted);padding:32px;cursor:default}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--accent-soft);color:var(--accent)}.badge.on{background:var(--brand-soft);color:var(--brand)}.num{display:block;text-align:right;font-variant-numeric:tabular-nums}.pager{display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.pager .btns{display:flex;gap:6px}.theme-picker{position:relative}.theme-trigger{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.swatch{width:16px;height:16px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px var(--line);flex:none}.theme-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:340px;padding:14px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #0000002e;display:grid;gap:8px;max-height:min(78vh,620px);overflow:auto}.palette-group{font-size:11px;color:var(--muted);letter-spacing:.06em;padding:6px 8px 0}.theme-label{font-size:12px;color:var(--muted);font-weight:600}.seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;background:none;padding:7px 0;cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);font-weight:600}.palettes{display:grid;grid-template-columns:1fr 1fr;gap:2px 4px}.palettes .palette-group{grid-column:1 / -1}.palette{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:none;border-radius:8px;padding:7px 8px;cursor:pointer;text-align:left}.palette:hover{background:var(--surface)}.palette[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);font-weight:600}.modal-back{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.modal{background:var(--panel);border-radius:14px;width:min(640px,100%);max-height:90vh;display:flex;flex-direction:column}.modal header,.modal footer{padding:16px 20px;display:flex;align-items:center;gap:8px}.modal header{border-bottom:1px solid var(--line);font-weight:700;font-size:16px}.modal footer{border-top:1px solid var(--line);justify-content:flex-end}.modal footer .left{margin-right:auto}.modal .body{padding:18px 20px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal .body label{display:grid;gap:5px;font-size:13px;font-weight:600}.modal .body label.wide{grid-column:1 / -1}.modal .body .req:after{content:" *";color:var(--brand)}.modal .body .check{display:flex;align-items:center;gap:8px}.modal .muted{color:var(--muted);font-size:13px;font-weight:400}.modal header .muted{margin-left:4px}.modal .body .wide{grid-column:1 / -1}.corp-lookup{display:grid;gap:6px}.corp-lookup-bar{display:flex;gap:8px}.corp-lookup-bar .input{flex:1;min-width:0}.corp-lookup-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:6px}.corp-lookup-list button{width:100%;display:flex;justify-content:space-between;gap:12px;padding:7px 10px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.corp-lookup-list button:hover{background:var(--brand-soft)}.detail-actions{display:flex;gap:8px}.detail-actions a.btn{text-decoration:none}.detail-row{display:grid;gap:3px;min-width:0}.detail-value{display:flex;align-items:center;gap:8px;word-break:break-all;white-space:pre-wrap}.btn.small{padding:2px 8px;font-size:12px;flex:none}.who .space-pick{width:auto;min-width:180px;max-width:260px}.badge.invite{text-decoration:none;background:var(--brand-soft);color:var(--brand)}.empty-space{max-width:560px;margin:8vh auto;text-align:center;display:grid;gap:12px}.empty-space .actions{display:flex;gap:8px;justify-content:center}.muted{color:var(--muted);font-size:13px;word-break:keep-all}.space-page{display:grid;gap:14px;min-width:0}.space-page .seg{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(120px,auto);justify-content:start;width:max-content;max-width:100%}.space-page .seg button{padding:7px 16px;white-space:nowrap}.space-caption{margin:0}.space-grid,.split-2{display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.space-page .card{display:grid;gap:10px;min-width:0}.space-page .card h3{margin:0;font-size:15px}.space-page td .select{min-width:96px;padding:4px 6px}.row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.matrix td,.matrix th{text-align:center}.matrix td:first-child,.matrix th:first-child{text-align:left;white-space:nowrap}.name-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.name-list li{display:flex;gap:6px;align-items:center}.check{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--muted)}.space-info{max-width:640px}.space-info label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.invite-form .select{min-width:120px}@media(max-width:1100px){.space-grid,.split-2{grid-template-columns:minmax(0,1fr)}}.master-split{display:grid;grid-template-columns:236px minmax(0,1fr);gap:14px;align-items:start;min-width:0}.master-main{display:grid;gap:16px;min-width:0}.company-pane{display:grid;gap:8px;padding:12px}.pane-head{display:flex;align-items:center;gap:6px}.pane-head .spacer{flex:1}.side-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:70vh;overflow:auto}.side-list button{width:100%;display:flex;align-items:center;gap:6px;border:0;background:none;border-radius:7px;padding:5px 10px;min-height:32px;cursor:pointer;text-align:left;color:var(--ink)}.side-list button:hover{background:var(--surface)}.side-list button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);font-weight:600}.side-text{display:grid;min-width:0;flex:1}.side-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-sub{font-size:11px;opacity:.65;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.side-count{font-size:11px;opacity:.7;flex:none}.company-strip{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-wrap:wrap}.company-strip .strip-title{font-weight:700;font-size:15px}.company-strip .spacer{flex:1}@media(max-width:1100px){.master-split{grid-template-columns:1fr}.side-list{max-height:32vh}}.nav-group{display:contents}.section-title{font-size:15px;margin:22px 0 10px}.embedded .toolbar{margin-top:4px}.embedded+.embedded{margin-top:8px}.muted{color:var(--muted);font-size:13px}.btn.small,.select.small,.input.small{padding:3px 9px;font-size:12px}.input.small{width:70px}.row-actions{white-space:nowrap;display:flex;gap:4px;flex-wrap:wrap;align-items:center}td.num{display:table-cell;text-align:right;font-variant-numeric:tabular-nums}td.detail{font-family:ui-monospace,Consolas,monospace;font-size:12px;max-width:420px;overflow-wrap:anywhere}.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 14px;color:var(--muted);cursor:pointer;font:inherit}.tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.badge.st-inquiry,.badge.st-quoted,.badge.st-sent,.badge.st-submitted,.badge.st-pending,.badge.ms-pending_approval{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309}.badge.st-closed,.badge.st-lost,.badge.st-dropped,.badge.st-cancelled,.badge.st-expired,.badge.ms-withdrawn,.badge.sc-retired{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}.badge.st-on_hold,.badge.st-revision_requested,.badge.st-failed,.badge.ms-suspended,.badge.ms-rejected{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.badge.st-accepted,.badge.st-approved,.badge.st-paid,.badge.st-done,.badge.st-settled,.badge.ms-active,.badge.sc-published{background:color-mix(in srgb,#16a34a 16%,transparent);color:#15803d}.project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:8px 0 14px}.project-head h2{margin:0 0 4px;font-size:22px;display:flex;gap:10px;align-items:center}.moves{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.pipeline{list-style:none;display:flex;padding:0;margin:0 0 12px;gap:4px;flex-wrap:wrap}.pipeline li{flex:1 1 0;min-width:76px;text-align:center;padding:7px 4px;border-radius:6px;background:var(--panel);border:1px solid var(--line);font-size:13px;color:var(--muted)}.pipeline li.done{background:var(--accent-soft);color:var(--accent);border-color:transparent}.pipeline li.now{background:var(--brand);color:var(--brand-ink);border-color:transparent;font-weight:700}.pipeline.counts li a{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:2px}.pipeline.counts li b{font-size:18px}.progress{position:relative;height:26px;border-radius:6px;background:var(--panel);border:1px solid var(--line);overflow:hidden;margin-bottom:14px}.progress div{position:absolute;inset:0 auto 0 0;background:var(--brand-soft)}.progress span{position:relative;display:block;line-height:24px;padding:0 10px;font-size:13px}.card.request{margin-bottom:14px}.card.request p{white-space:pre-wrap;margin:6px 0 0}.project-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.timeline{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:4px 16px 16px;position:sticky;top:12px;max-height:calc(100vh - 140px);overflow:auto}.timeline form{display:grid;gap:6px;margin-bottom:12px}.timeline ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.timeline li{border-left:3px solid var(--line);padding-left:10px;font-size:13px}.timeline li.ev-status{border-left-color:var(--accent)}.timeline li.ev-acceptance,.timeline li.ev-quote{border-left-color:#d97706}.ev-head{color:var(--muted);font-size:12px;margin-bottom:2px}.ev-msg{white-space:pre-wrap}@media(max-width:1100px){.project-body{grid-template-columns:1fr}.timeline{position:static;max-height:none}}.card.attention{border-color:#d97706}.card .value.small{font-size:22px}.split-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:1100px){.split-2{grid-template-columns:1fr}}td.bars{width:34%}td.bars i{display:block;height:6px;border-radius:3px;background:var(--brand);margin:2px 0}td.bars i.out{background:var(--muted)}.notices{display:grid;gap:10px;margin-bottom:8px}.notices p{margin:4px 0 0;white-space:pre-wrap;color:var(--muted)}.card.secret{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px;border-color:#d97706}.card.secret code{font-size:16px;padding:4px 10px;background:var(--accent-soft);border-radius:6px;-webkit-user-select:all;user-select:all}.card.ok-note{margin-bottom:12px;padding:10px 16px}.error ul{margin:6px 0 0;padding-left:18px}.showcase-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}tr[aria-selected=true] td{background:var(--accent-soft)}.json-editor{display:flex;flex-direction:column;gap:8px}.json-editor .toolbar{margin:0;align-items:center}.json-editor textarea.code{font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.5;min-height:60vh;resize:vertical;white-space:pre;tab-size:2}.modal .body.single{display:block;max-height:60vh;overflow:auto}.login-form .member-login{text-align:center;text-decoration:none;display:block}.login-form .or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;margin:4px 0}.login-form .or:before,.login-form .or:after{content:"";flex:1;border-top:1px solid var(--line)}.inquiry{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--surface);position:relative}.inquiry-box{width:min(760px,100%);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px 32px}.inquiry-box .mark{display:flex;align-items:center;gap:8px;font-weight:700;margin-bottom:12px}.inquiry-box .mark img{width:28px;height:28px}.inquiry-box h2{margin:0 0 6px}.inquiry-box .sub{color:var(--muted);margin:0 0 16px}.inquiry-box .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.inquiry-box label{display:grid;gap:4px;font-size:13px}.inquiry-box label.wide{grid-column:1 / -1}.inquiry-box .req:after{content:" *";color:var(--danger)}.inquiry-box .hp{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.inquiry-box form>.btn{margin-top:12px}.inquiry-done{display:grid;gap:10px;justify-items:start}@media(max-width:640px){.inquiry-box .grid{grid-template-columns:1fr}.inquiry-box{padding:20px}}
