:root{--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:15px;--fs-xl:18px;--brand:#6b2c3a;--brand-dark:#4e1f2a;--brand-soft:#f7eef0;--accent:#c9a961;--bg:#f7f8fa;--card:#fff;--border:#e3e6ec;--text:#1a1a1a;--text-soft:#5f6673;--red:#c00000;--blue:#305496;--ov:#fff3cf;--ov-line:#d6a300;--ok:#1f7a4d;--line2:#eef0f4;--chg:#e8f0fd;--chg-line:#8fb0e8}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:Pretendard,-apple-system,Malgun Gothic,sans-serif;font-size:var(--fs-md);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--border);background:#fff;border-radius:4px;padding:3px 6px}input,select{height:26px}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:-1px}.muted{color:var(--text-soft)}.num{font-variant-numeric:tabular-nums}.r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.shell{flex-direction:column;height:100%;display:flex;overflow:hidden}.appbar{border-bottom:1px solid var(--border);background:#fff;flex:none;align-items:center;gap:8px;min-height:46px;padding:7px 14px;display:flex}.logo{color:var(--brand);letter-spacing:-.2px;white-space:nowrap;margin-right:4px;font-weight:800}.nav{gap:2px;display:flex}.nav a{color:#3b404a;white-space:nowrap;border-radius:4px;align-items:center;height:30px;padding:0 10px;text-decoration:none;display:inline-flex}.nav a.on{background:var(--brand-soft);color:var(--brand-dark);font-weight:700}.nav a .cnt{font-size:var(--fs-xs);background:var(--brand);color:#fff;border-radius:8px;margin-left:5px;padding:0 6px;line-height:16px}.regions{gap:4px;display:flex}.regions button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;height:28px;padding:0 10px}.regions button.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}.sep{background:var(--border);flex:none;width:1px;height:20px;margin:0 2px}.user{font-size:var(--fs-sm);color:var(--text-soft);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;display:flex}.avatar{background:var(--brand);color:#fff;width:24px;height:24px;font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:700;display:grid}.devtag{font-size:var(--fs-xs);color:#7a5600;background:#fff8e6;border:1px dashed #e4c77a;border-radius:3px;padding:1px 6px}.banner{font-size:var(--fs-sm);border-bottom:1px solid;flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:6px 14px;display:flex}.banner.warn{color:#6b4f00;background:#fff3cf;border-color:#ecd28a}.banner.info{background:var(--chg);border-color:var(--chg-line);color:#1d3a6b}.banner.err{color:#7a1010;background:#fde8e8;border-color:#f0b4b4}.btn{border:1px solid var(--border);cursor:pointer;white-space:nowrap;height:28px;font-size:var(--fs-md);background:#fff;border-radius:4px;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.btn:hover{background:#fafbfc;border-color:#c5cad3}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled){background:var(--brand-dark)}.btn.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark);font-weight:600}.btn.sm{height:22px;font-size:var(--fs-sm);padding:0 7px}.btn.ghost{background:0 0;border-color:#0000}.btn.block{justify-content:center;width:100%;margin-top:4px}.btn.eng:after{content:"엔진";font-size:var(--fs-xs);color:var(--blue);background:#dfe8fb;border-radius:3px;padding:0 3px}.tabs{border:1px solid var(--border);border-radius:5px;flex:none;display:flex;overflow:hidden}.tabs button{cursor:pointer;height:28px;font-size:var(--fs-md);border:0;border-right:1px solid var(--border);white-space:nowrap;background:#fff;padding:0 12px}.tabs button:last-child{border-right:0}.tabs button.on{background:var(--brand);color:#fff;font-weight:600}.gb{font-size:var(--fs-xs);white-space:nowrap;border:1px solid;border-radius:3px;padding:0 5px;font-weight:700;line-height:17px;display:inline-block}.g-TrophyAsset{color:#7a5a12;background:#fbf4e3;border-color:#c9a961}.g-Prime{color:var(--brand);background:var(--brand-soft);border-color:#c79aa5}.g-A{color:#24477f;background:#eef3fb;border-color:#a9bde0}.g-B{color:#2e6b4b;background:#eef8f2;border-color:#a8d1bb}.g-C,.g-D{color:#666;background:#f4f4f4;border-color:#ccc}.ph{color:#5f6673;font-size:var(--fs-xs);background:#e9ebef;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.ph img{object-fit:cover;width:100%;height:100%;display:block}.errst{color:#5f6673;font-size:var(--fs-sm);white-space:nowrap;background:#f1f2f5;border-radius:3px;padding:1px 6px}.chip{font-size:var(--fs-xs);white-space:nowrap;border-radius:3px;padding:0 4px;font-weight:700;line-height:16px;display:inline-block}.chip.ov{color:#6b4f00;background:#ffe39a}.chip.note{color:#fff;background:var(--brand)}.chip.chg{color:#1d3a6b;background:#d3e2fb}.chip.stub{color:#9a6b00;background:#fff8e6;border:1px dashed #e4c77a;font-weight:600}.ovd{box-shadow:inset 0 0 0 1px var(--ov-line);background:var(--ov)!important}.chgd{box-shadow:inset 0 0 0 1px var(--chg-line);background:var(--chg)!important}.st{font-size:var(--fs-xs);white-space:nowrap;border-radius:3px;padding:1px 6px;display:inline-block}.st.in{color:var(--ok);background:#e7f4ec;font-weight:600}.st.ex{color:var(--text-soft);background:#f1f2f5}.st.wait{color:#7a5600;background:#fff3cf;font-weight:600}.st.no{color:#8a1a1a;background:#fde8e8;font-weight:600}.vg{color:var(--text-soft)}.rl{white-space:pre-wrap;padding:1px 3px;line-height:1.42;display:block}.rl.red{color:var(--red);font-weight:600}.rl.blue{color:var(--blue);font-weight:600}.strike{color:var(--text-soft);text-decoration:line-through}.arrow{color:var(--text-soft);margin:0 4px}.modal{z-index:100;background:#140e1073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.mbox{background:#fff;border-radius:8px;flex-direction:column;width:680px;max-width:100%;max-height:84vh;display:flex;box-shadow:0 20px 50px #00000040}.mhead{border-bottom:1px solid var(--border);font-weight:700;font-size:var(--fs-lg);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.mbody{padding:14px 18px;overflow:auto}.mbody p{margin:0 0 10px;line-height:1.6}.mfoot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.toast{color:#fff;font-size:var(--fs-md);z-index:200;background:#2a2125;border-radius:6px;max-width:90vw;padding:9px 16px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}table.lt2{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.lt2 th,.lt2 td{border-bottom:1px solid var(--line2);text-align:left;vertical-align:top;padding:5px 6px}.lt2 th{color:#4b5160;font-weight:600;font-size:var(--fs-sm);white-space:nowrap;z-index:1;background:#f6f7f9;position:sticky;top:0}.empty{border:1px solid var(--border);text-align:center;max-width:520px;color:var(--text-soft);background:#fff;border-radius:8px;margin:60px auto;padding:28px;line-height:1.8}.login{place-items:center;min-height:100%;padding:16px;display:grid}.login .card{border:1px solid var(--border);background:#fff;border-radius:10px;width:380px;max-width:100%;padding:28px}.login h1{font-size:var(--fs-xl);color:var(--brand);margin:0 0 4px}.login .who{flex-direction:column;gap:6px;margin-top:14px;display:flex}.pbar{border-bottom:1px solid var(--border);background:#fff;flex:none;align-items:center;gap:8px;padding:6px 14px;display:flex}.side{border-right:1px solid var(--border);background:#fff;flex:none;width:236px;padding:10px 12px 20px;overflow:auto}.side h4{font-size:var(--fs-sm);color:var(--text-soft);letter-spacing:.3px;margin:14px 0 6px;font-weight:600}.side h4:first-child{margin-top:2px}.fi{font-size:var(--fs-sm);grid-template-columns:1fr 92px;align-items:center;gap:4px;margin-bottom:5px;display:grid}.fi.full{grid-template-columns:1fr}.fi label{color:#3b404a;flex-direction:column;line-height:1.2;display:flex}.fi label i{font-style:normal;font-size:var(--fs-xs);color:var(--text-soft)}.fi input{font-variant-numeric:tabular-nums;width:100%}.side .chk{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;margin-top:6px;display:flex}.side .chk input{height:auto}.tbar{border-bottom:1px solid var(--border);background:#fff;flex:none;align-items:center;gap:6px;padding:7px 12px;display:flex;overflow-x:auto}.tabs b{font-variant-numeric:tabular-nums;margin-left:3px}.tbl{background:#fff;flex:1;overflow:auto}table.lt{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.lt th{z-index:2;text-align:left;color:#4b5160;font-weight:600;font-size:var(--fs-sm);white-space:nowrap;background:#f6f7f9;border-bottom:1px solid #dfe2e8;padding:7px 6px;position:sticky;top:0}.lt td{border-bottom:1px solid var(--line2);vertical-align:middle;padding:5px 6px}.lt tr.row{cursor:pointer}.lt tr.row:hover td{background:#fbf7f8}.lt tr.row.sel td{background:var(--brand-soft)}.lt tr.row.exc td{color:#5f6673}.lt tr.row.exc .ph{opacity:.5}.lt .nm b{font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.lt .nm small{color:var(--text-soft);font-size:var(--fs-xs)}.lt .rk{color:var(--brand);font-weight:800;font-size:var(--fs-md);text-align:center;width:34px}.lt .mv{white-space:nowrap}.lt .mv button{border:1px solid var(--border);width:20px;height:20px;font-size:var(--fs-xs);cursor:pointer;color:var(--text-soft);background:#fff;border-radius:3px;padding:0}.lt .mv button:hover{border-color:var(--brand);color:var(--brand)}.lt .noc{color:var(--brand-dark);font-weight:800}.lt input[type=checkbox]{cursor:pointer;width:15px;height:15px}.drawer{z-index:20;background:#fff;border-left:1px solid #d5d9e0;flex-direction:column;width:560px;max-width:100%;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 30px #1e14191f}.dhead{border-bottom:1px solid var(--border);flex:none;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.dhead h3{font-size:var(--fs-xl);margin:0 0 3px}.dhead .sub{color:var(--text-soft);font-size:var(--fs-sm);line-height:1.45}.dctl{flex-direction:column;flex:none;align-items:flex-end;gap:4px;margin-left:auto;display:flex}.dbody{flex:1;padding:0 14px 30px;overflow:auto}.kpis{grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0;display:grid}.kpi{border:1px solid var(--border);border-radius:5px;padding:7px 8px}.kpi span{font-size:var(--fs-xs);color:var(--text-soft);display:block}.kpi b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.sec{margin-top:14px}.sec h4{font-size:var(--fs-md);color:#2b2f36;margin:0 0 6px}.sec h4 .muted{font-weight:400;font-size:var(--fs-xs);margin-left:6px}.ovgrid{grid-template-columns:1fr 1fr;gap:5px 10px;display:grid}.ovf{font-size:var(--fs-sm);border-radius:4px;grid-template-columns:96px 1fr;align-items:center;gap:4px 6px;padding:2px 4px;display:grid}.ovf label{color:#3b404a;line-height:1.15}.ovf label small{color:var(--text-soft);font-size:var(--fs-xs);display:block}.ovf input{width:100%}.ovf.ovd input{color:#5c4100;border-color:var(--ov-line);font-weight:700}.ovf .req{grid-column:2;justify-self:start}ul.chg{margin:0;padding-left:18px;line-height:1.6}.vac{font-size:var(--fs-sm);line-height:1.45}.full{border-top:1px solid var(--border);margin-top:16px}details.fg{border-bottom:1px solid var(--line2)}details.fg summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);color:#3b404a;padding:7px 2px}table.ft{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin-bottom:8px}.ft td{vertical-align:top;border-bottom:1px dotted #e6e8ec;padding:3px 4px}.ft td.n{width:32px;color:var(--text-soft);text-align:right;font-variant-numeric:tabular-nums}.ft td.l{color:#5a606c;width:180px}.ft td.v{white-space:pre-wrap}.cmp{background:#fff;flex:1;padding-bottom:30px;overflow:auto}table.ct{border-collapse:collapse;font-size:var(--fs-md);min-width:100%}.ct th,.ct td{border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);vertical-align:top;width:200px;padding:6px 8px}.ct td.l,.ct th.l{color:#4b5160;z-index:1;text-align:left;background:#f8f9fb;width:170px;min-width:170px;font-weight:500;position:sticky;left:0}.ct thead th{z-index:2;border-bottom:2px solid var(--brand);text-align:left;background:#fff;position:sticky;top:0}.ct thead th.l{z-index:3}.ct .best{color:var(--ok);font-weight:800;background:#e7f4ec!important}.dsum{margin:0 0 10px;padding-left:18px;line-height:1.7}.reg{flex:1;grid-template-columns:290px 1fr 320px;min-height:0;display:grid}.rlist{border-right:1px solid var(--border);background:#fff;flex-direction:column;min-height:0;display:flex}.rlhead{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px;display:flex}.chips{flex-wrap:wrap;gap:4px;display:flex}.fchip{border:1px solid var(--border);height:24px;font-size:var(--fs-sm);cursor:pointer;background:#fff;border-radius:12px;padding:0 9px}.fchip.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark);font-weight:600}.rlitems{flex:1;overflow:auto}.ritem{text-align:left;border:0;border-bottom:1px solid var(--line2);cursor:pointer;background:#fff;gap:8px;width:100%;padding:8px 10px;display:flex}.ritem:hover{background:#fbf7f8}.ritem.sel{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.rimeta{flex-direction:column;gap:1px;min-width:0;display:flex}.rimeta b{font-size:var(--fs-md)}.rimeta small{font-size:var(--fs-xs);color:#4b5160}.mk{font-size:var(--fs-xs);color:var(--brand);border:1px solid #c79aa5;border-radius:3px;margin-left:6px;padding:0 3px}.rlfoot{font-size:var(--fs-xs);border-top:1px solid var(--border);padding:6px 10px}.rform{flex-direction:column;min-width:0;min-height:0;display:flex}.rfhead{border-bottom:1px solid var(--border);background:#fff;flex:none;align-items:center;gap:10px;padding:10px 14px;display:flex}.rfhead h2{font-size:var(--fs-xl);margin:0}.nameinput{font-size:var(--fs-xl);border-color:#0000;width:100%;max-width:420px;height:32px;padding:0 4px;font-weight:700}.nameinput:hover{border-color:var(--border)}.rsecnav{border-bottom:1px solid var(--border);background:#fff;flex:none;gap:2px;padding:0 14px;display:flex;overflow-x:auto}.rsecnav a{color:#3b404a;white-space:nowrap;font-size:var(--fs-md);padding:8px 10px;text-decoration:none}.rsecnav a:hover{color:var(--brand)}.rbody{flex-direction:column;flex:1;gap:12px;padding:12px 14px 60px;display:flex;overflow:auto}.card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:12px 14px;scroll-margin-top:8px}.card h3{font-size:var(--fs-md);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;display:flex}.card h3 .muted{font-weight:400;font-size:var(--fs-sm)}.attrgrid,.reggrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 12px;display:grid}.termgrid{grid-template-columns:repeat(3,1fr);gap:8px 12px;display:grid}.af{font-size:var(--fs-sm);color:#3b404a;flex-direction:column;gap:3px;display:flex}.af i{color:var(--blue);font-style:normal;font-size:var(--fs-xs)}.af input,.af textarea{width:100%}.af.long{grid-column:span 3}.vt td{padding:2px 3px}.vt input{width:100%;height:26px}.vt td:first-child input{width:70px}.fig{margin:0}.fig figcaption{font-size:var(--fs-xs);color:var(--text-soft);margin-top:4px}.chk{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.chk input{height:auto}.rhist{border-left:1px solid var(--border);background:#fff;padding:10px 12px;overflow:auto}.rhist h3{font-size:var(--fs-md);margin:0 0 8px}.rhist h3 .muted{font-weight:400;font-size:var(--fs-xs)}.hl{flex-direction:column;display:flex}.hi{border-top:1px solid var(--line2);font-size:var(--fs-sm);padding:7px 0;line-height:1.5}.hm{font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.hm .src{font-size:var(--fs-xs);color:var(--text-soft);background:#f1f2f5;border-radius:3px;margin-left:auto;padding:0 4px}.bulk{flex-direction:column;flex:1;min-height:0;display:flex}.bulkmain{flex:1;grid-template-columns:1fr 340px;min-height:0;display:grid}.gridhost{background:#fff;min-width:0;min-height:0}.bside{border-left:1px solid var(--border);background:#fff;flex-direction:column;gap:10px;padding:12px;display:flex;overflow:auto}revo-grid{font-family:inherit;font-size:var(--fs-md);--revo-grid-primary:#6b2c3a}revo-grid .edited{box-shadow:inset 0 0 0 1px var(--ov-line);font-weight:700;background:var(--ov)!important}revo-grid .num{text-align:right;font-variant-numeric:tabular-nums}revo-grid .ro{color:#3b404a;background:#fafbfc}.m{background:var(--bg);min-height:100%;padding-bottom:40px}.mbar{z-index:5;border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:8px;padding:8px 16px;display:flex;position:sticky;top:0}.mbar select{height:30px}.mme{font-size:var(--fs-sm);color:var(--text-soft);align-items:center;gap:4px;margin-left:auto;display:flex}.mtitle{font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.msearch{flex-direction:column;gap:6px;padding:10px 16px 0;display:flex}.msearch input[type=text],.msearch input:not([type]){height:38px;font-size:var(--fs-lg);width:100%}.mcount{font-size:var(--fs-sm);margin:0;padding:4px 16px}.mlist{flex-direction:column;gap:8px;margin:0;padding:0 16px;list-style:none;display:flex}.mlist button{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;gap:10px;width:100%;padding:8px;display:flex}.mmeta{flex-direction:column;gap:2px;min-width:0;display:flex}.mmeta b{font-size:var(--fs-lg)}.mmeta small{font-size:var(--fs-sm);color:#4b5160}.mphotos{flex-direction:column;gap:2px;display:flex}.msec{border:1px solid var(--border);background:#fff;border-radius:8px;margin:10px 16px 0;padding:12px}.msec h3{font-size:var(--fs-lg);margin:0 0 8px}.mdl{font-size:var(--fs-md);grid-template-columns:88px 1fr;gap:6px 10px;margin:0;display:grid}.mdl dt{color:var(--text-soft)}.mdl dd{margin:0}.mvac{flex-direction:column;display:flex}.mvrow{border-top:1px solid var(--line2);font-size:var(--fs-md);grid-template-columns:54px 1fr;gap:2px 8px;padding:8px 0;display:grid}.mvrow b{color:var(--brand);grid-row:span 3}.dform{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;display:grid}.csvpre{font-size:var(--fs-xs);border:1px solid var(--border);white-space:pre;background:#f6f7f9;border-radius:4px;max-height:140px;margin:0;padding:8px;overflow-x:auto}.warn{color:var(--red)}.faultbar{z-index:1000;color:#fff;font-size:var(--fs-md);background:#b42318;flex-direction:column;gap:4px;padding:8px 16px;display:flex;position:fixed;top:0;left:0;right:0}.faultbar .btn{align-self:flex-end}.cellf{width:100%;display:block;position:relative}.cellf>input,.cellf>textarea{width:100%}.cellf.hasf>input,.cellf.hasf>textarea{background:#fbf7ee;padding-left:26px}.cellf.pend>input,.cellf.pend>textarea{border-color:#ecd28a}.cellf .fx,.banner .fx{color:var(--brand);font:italic 600 11px/1 Georgia,serif}.cellf .fx{pointer-events:none;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.cellf.hasf>textarea+.fx,.cellf.hasf textarea~.fx{top:12px}.cellf.bad>input,.cellf.bad>textarea{border-color:#b42318}.cellerr{color:#b42318;font-size:var(--fs-xs);white-space:normal;margin-top:2px;display:block}.dno{color:var(--brand);margin-right:8px;font-weight:800}.lt .nm small .ln{margin-left:8px}.metaline{flex-wrap:wrap;gap:4px 14px;display:flex}.side .chk.sub{font-size:var(--fs-sm);margin:2px 0 6px 2px}.fi label .fx{color:var(--brand);margin-top:2px;font:italic 600 11px/1 Georgia,serif}
