:root{color:#13223a;font-synthesis:none;--navy:#153c68;--blue:#2469a5;--line:#d5e0ec;--muted:#64748b;--green:#087a5b;--red:#b42318;--amber:#a15c00;background:#f3f7fb;font-family:Pretendard,Noto Sans KR,Malgun Gothic,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(140deg,#f7faff 0%,#eef4f9 100%);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}.hidden{display:none!important}.topbar{color:#fff;background:linear-gradient(115deg,#12365e,#245f95);justify-content:space-between;align-items:center;gap:24px;min-height:142px;padding:28px clamp(24px,4vw,64px);display:flex;box-shadow:0 8px 26px #0f2f5029}.brand{align-items:center;gap:18px;display:flex}.brand-mark{color:#c81e1e;background:#fff;border-radius:18px;place-items:center;width:58px;height:58px;display:grid;box-shadow:0 8px 20px #00000029}.brand-mark svg{fill:#fee2e2;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.eyebrow,.step{color:#58a8ed;letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:13px;font-weight:800}.brand h1{letter-spacing:-.04em;margin:0;font-size:clamp(28px,3.2vw,42px)}.brand p:last-child{color:#d9e9f7;margin:8px 0 0;font-size:16px}.account{align-items:center;gap:12px;display:flex}.account div{gap:2px;display:grid}.account span{color:#d7e7f5;font-size:13px}.avatar{border:2px solid #8ed4bf;border-radius:50%;width:42px;height:42px}main{width:min(1320px,100% - 40px);margin:30px auto 70px}.workspace{gap:20px;display:grid}.center-card{text-align:center;border:1px solid var(--line);background:#fffffff5;border-radius:22px;width:min(560px,100%);margin:70px auto;padding:48px;box-shadow:0 18px 45px #17395b1a}.center-card h2{margin:9px 0 12px;font-size:26px}.center-card p:not(.step){color:var(--muted);line-height:1.7}.center-card code{color:#214b74;background:#eef4fa;border-radius:12px;margin-top:20px;padding:16px;line-height:1.8;display:block}.round-icon,.spinner{width:56px;height:56px;color:var(--navy);background:#e8f2fb;border-radius:50%;place-items:center;margin:0 auto 15px;font-size:24px;font-weight:900;display:grid}.round-icon.google{color:#2563eb;border:1px solid var(--line);background:#fff}.round-icon.waiting{color:var(--amber);background:#fff4df}.spinner{border:5px solid #dbe7f2;border-top-color:var(--blue);animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.workspace-heading,.panel-heading,.review-heading,.input-footer{justify-content:space-between;align-items:center;gap:20px;display:flex}.workspace-heading h2,.panel h3,.review-heading h2{margin:0}.workspace-heading.compact{align-items:flex-start}.panel{border:1px solid var(--line);background:#fff;border-radius:18px;padding:26px;box-shadow:0 12px 32px #1634520f}.input-panel textarea{resize:vertical;color:#172b46;background:#fbfdff;border:1px solid #bdcede;border-radius:12px;outline:none;width:100%;min-height:170px;margin-top:18px;padding:18px;line-height:1.7}.input-panel textarea:focus,input:focus,select:focus{border-color:#4592d0;box-shadow:0 0 0 3px #4592d024}.input-footer{margin-top:13px}.safe-badge,.count,.pills span,.status{color:#3c536d;background:#edf3f8;border-radius:999px;align-items:center;min-height:30px;padding:5px 11px;font-size:13px;font-weight:800;display:inline-flex}.safe-badge,.count.ok,.pills .ok{color:var(--green);background:#e5f7f0}.primary,.outline,.text-button,.google-button{border:1px solid #0000;border-radius:10px;min-height:42px;padding:0 18px;font-weight:800}.primary{color:#fff;background:var(--navy)}.primary:hover{background:#0d2f54}.outline{color:#fff;background:0 0;border-color:#ffffffa6}.outline.dark{color:var(--navy);background:#fff;border-color:#aac3dc}.text-button{color:var(--red);background:0 0}.wide{width:100%}.google-button{color:#213854;background:#fff;border-color:#c8d5e1;width:100%;max-width:310px;margin-top:10px}.google-button span{color:#2563eb;margin-right:12px;font-weight:900}.error{min-height:20px;color:var(--red)!important}.dictionary-strip{background:#f8fbfe;border:1px solid #bfd3e6;border-left:5px solid #3b82b9;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.dictionary-strip div{gap:3px;display:grid}.dictionary-strip small,.help{color:var(--muted);line-height:1.55}.empty-state{text-align:left;background:#ffffffa8;border:1px dashed #b9ccdc;border-radius:18px;justify-content:center;align-items:center;gap:18px;min-height:180px;display:flex}.empty-state>span{width:50px;height:50px;color:var(--green);background:#e4f6ef;border-radius:50%;place-items:center;font-size:24px;font-weight:900;display:grid}.empty-state h2,.empty-state p{margin:4px 0}.empty-state p{color:var(--muted)}.review-heading{align-items:flex-end;margin:8px 0 18px}.pills{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pills .hold{color:var(--amber);background:#fff3dc}.pills .no{color:var(--red);background:#ffebe9}.review-grid{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start;gap:20px;display:grid}.candidate-list{gap:14px;display:grid}.candidate-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 24px #1634520d}.candidate-card.approved{background:#fbfffd;border-color:#77cdb0}.candidate-card.rejected{opacity:.72}.candidate-heading{justify-content:space-between;gap:15px;display:flex}.candidate-heading h3{margin:8px 0}.category{color:#236b9f;font-size:13px;font-weight:800}mark{color:var(--red);background:#ffe4de;border-radius:4px;padding:1px 5px}.context{background:#f7fafd;border-left:3px solid #b7d8ef;padding:14px;line-height:1.65}.candidate-card dl{grid-template-columns:54px 1fr;gap:5px 10px;margin:15px 0;font-size:14px;display:grid}.candidate-card dt{color:var(--muted)}.candidate-card dd{margin:0}.candidate-card label{gap:7px;font-weight:800;display:grid}.candidate-card select,.candidate-card input{background:#fff;border:1px solid #c6d5e2;border-radius:9px;width:100%;min-height:42px;padding:0 12px}.candidate-actions{gap:8px;margin-top:14px;display:flex}.preview-panel{position:sticky;top:18px}.preview-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;min-height:330px;font:inherit;background:#f8fbfe;border:1px solid #d3e0eb;border-radius:12px;margin:18px 0;padding:20px;line-height:1.75}.admin-grid{grid-template-columns:1.25fr .75fr;align-items:start;gap:20px;display:grid}.user-list{gap:10px;margin-top:18px;display:grid}.user-row{border:1px solid #dce6ef;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.user-row div:first-child{gap:4px;display:grid}.user-row small{color:var(--muted)}.user-actions{gap:7px;display:flex}.upload-form{gap:12px;margin-top:22px;display:grid}.file-field{gap:8px;font-weight:800;display:grid}.file-field input{background:#f9fbfd;border:1px solid #ccd9e5;border-radius:10px;padding:12px}.form-message{min-height:24px;color:var(--green);line-height:1.5}.toast{z-index:20;color:#fff;background:#173b63;border-radius:12px;max-width:min(420px,100% - 44px);padding:14px 18px;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 32px #00000038}@media (width<=900px){.topbar,.workspace-heading,.review-heading{flex-direction:column;align-items:flex-start}.account{flex-wrap:wrap;width:100%}.review-grid,.admin-grid{grid-template-columns:1fr}.preview-panel{position:static}}@media (width<=560px){main{width:min(100% - 20px,1320px);margin-top:15px}.topbar{padding:22px 18px}.brand-mark{display:none}.brand h1{font-size:28px}.center-card,.panel{padding:20px}.dictionary-strip,.user-row{flex-direction:column;align-items:stretch}.user-actions{flex-wrap:wrap}}
