:root{--bg: #f5f6f9;--panel: #ffffff;--line: #e7e9ef;--line2: #eff0f3;--ink: #292c36;--navy: #181b25;--muted: #858a98;--faint: #aaaeb8;--brand: #6842d8;--brand-strong: #50309e;--brand-soft: #f0ecfc;--brand-line: #e5ddfa;--fact: #18a058;--fact-soft: #e8f7ef;--invent: #b7791f;--invent-soft: #fff6dc;--invent-risky-soft: #ffe9b3;--wrong: #e5484d;--wrong-soft: #fdecec;--ok: #18a058;--warn: #f59e0b;--danger: #e5484d;--info: #2f5bff;--r: 10px;--r-sm: 8px;--r-lg: 16px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 4px 16px rgba(16, 24, 40, .06);--sidebar-w: 246px;--font: Pretendard, "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;letter-spacing:-.015em;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--line);padding:24px 16px 18px;display:flex;flex-direction:column;z-index:5;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 22px;color:var(--navy)}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand),var(--brand-strong));border-radius:11px;font-weight:800;font-size:13px}.brand b{display:block;font-size:18px;letter-spacing:-.5px}.brand small{display:block;color:var(--faint);font-size:10px;margin-top:2px}.nav-group{margin:16px 12px 6px;color:var(--faint);font-size:11px;font-weight:700}.nav a{height:42px;padding:0 12px;border-radius:9px;display:flex;align-items:center;gap:10px;color:#686d79;font-weight:600;text-decoration:none}.nav a:hover{background:#f7f6fb}.nav a.active{color:var(--brand);background:var(--brand-soft)}.nav a em{margin-left:auto;font-style:normal;background:var(--brand-line);color:var(--brand);padding:2px 7px;border-radius:10px;font-size:11px}.sidebar-foot{margin-top:auto;padding:12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line2)}.main{margin-left:var(--sidebar-w);padding:28px 32px 60px;max-width:1240px}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{margin:0;font-size:22px;letter-spacing:-.03em;color:var(--navy)}.page-head p{margin:6px 0 0;color:var(--muted)}.page-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line)}.main{margin-left:0;padding:20px 16px 48px}}.public-top{display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--line)}.public-top .brand{padding:0}.public-top nav{margin-left:auto;display:flex;gap:14px;align-items:center}.public-main{max-width:1080px;margin:0 auto;padding:40px 16px 64px}.auth-card{max-width:440px;margin:48px auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px;margin-bottom:16px}.card h2{margin:0 0 4px;font-size:16px;color:var(--navy)}.card h3{margin:0 0 8px;font-size:14px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.card-head .actions{margin-left:auto;display:flex;gap:6px}.grid{display:grid;gap:16px}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}}.stat{padding:16px 18px}.stat b{display:block;font-size:24px;color:var(--navy);margin-top:4px}.stat span{color:var(--muted);font-size:12px}.btn{border:1px solid var(--line);background:#fff;border-radius:var(--r-sm);padding:8px 13px;cursor:pointer;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none}.btn:hover{background:#f7f8fa;text-decoration:none}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-strong)}.btn.danger{color:var(--danger)}.btn.ghost{background:transparent;border-color:transparent}.btn.sm{padding:4px 9px;font-size:12.5px;border-radius:6px}.btn.lg{padding:12px 22px;font-size:15px;border-radius:var(--r)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 11px;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}input[type=checkbox],input[type=radio]{width:auto}textarea{resize:vertical;line-height:1.6;min-height:90px}label.field{display:block;margin-bottom:14px}label.field>span{display:block;font-weight:700;font-size:13px;margin-bottom:6px}label.field>span small{font-weight:500;color:var(--faint);margin-left:4px}.help{font-size:12px;color:var(--muted);margin-top:4px}.err{font-size:12px;color:var(--danger);margin-top:4px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.check{display:flex;gap:8px;align-items:flex-start;margin:8px 0}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--line2);color:var(--muted);white-space:nowrap}.badge.brand{background:var(--brand-soft);color:var(--brand)}.badge.ok{background:var(--fact-soft);color:var(--fact)}.badge.warn{background:var(--invent-soft);color:var(--invent)}.badge.bad{background:var(--wrong-soft);color:var(--wrong)}.badge.test{background:#fff1e6;color:#c2410c}.chip{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;margin:0 4px 4px 0;background:#fff}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line2);vertical-align:top}.table th{font-size:12px;color:var(--muted);font-weight:700;background:#fafafd}.table tr:hover td{background:#fcfcfe}.notice{padding:11px 14px;border-radius:var(--r);border:1px solid var(--line);background:#fafafd;font-size:13px;margin-bottom:14px}.notice.warn{background:var(--invent-soft);border-color:#f4dfa2}.notice.bad{background:var(--wrong-soft);border-color:#f5c2c3}.notice.ok{background:var(--fact-soft);border-color:#bfe6cf}.notice.test{background:#fff1e6;border-color:#fed7aa}.steps{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.steps span{padding:6px 12px;border-radius:999px;background:var(--line2);color:var(--muted);font-size:12.5px;font-weight:700}.steps span.on{background:var(--brand);color:#fff}.steps span.done{background:var(--brand-soft);color:var(--brand)}.sent{padding:1px 3px;border-radius:4px;cursor:pointer}.sent.match{background:transparent;border-bottom:2px solid #bfe6cf}.sent.invented_ok{background:var(--invent-soft)}.sent.invented_risky{background:var(--invent-risky-soft)}.sent.mismatch{background:var(--wrong-soft);text-decoration:underline wavy var(--wrong)}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:4px}.doc{line-height:1.85;font-size:15px}.doc h3{font-size:17px;margin:18px 0 6px}.fact{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:#fff}.fact.candidate{border-style:dashed;background:#fcfcfe}.fact.confirmed{border-color:#bfe6cf}.fact.conflict{border-color:#f5c2c3;background:var(--wrong-soft)}.fact .body{flex:1}.fact .meta{font-size:12px;color:var(--muted);margin-top:4px}.fact .ops{display:flex;gap:4px}.modal-back{position:fixed;inset:0;background:#181b2573;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:#fff;border-radius:var(--r-lg);width:min(560px,100%);max-height:90vh;overflow:auto;padding:22px;box-shadow:var(--shadow)}.modal h2{margin:0 0 12px;font-size:17px}.modal .foot{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}.tabs a,.tabs button{padding:10px 14px;border:0;background:none;color:var(--muted);font-weight:700;border-bottom:2px solid transparent;cursor:pointer;text-decoration:none}.tabs a.on,.tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.split{grid-template-columns:minmax(0,1fr) 330px}@media(max-width:1100px){.split{grid-template-columns:1fr}}
