*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans KR",sans-serif;background:#f3f5f8;color:#0b1220}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#0b1220;color:white;padding:26px 18px;position:sticky;top:0;height:100vh}.brand{font-size:14px;letter-spacing:.08em;line-height:1.4;margin:8px 8px 32px}.brand b{font-size:20px}.nav{width:100%;border:0;background:transparent;color:#aab4c5;text-align:left;padding:13px 14px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer;margin:3px 0}.nav.active,.nav:hover{background:#182235;color:white}.plan{position:absolute;left:18px;right:18px;bottom:22px;background:#182235;padding:14px;border-radius:14px;font-size:12px;color:#9eabc0}.plan strong{display:block;color:white;margin-top:4px}main{padding:34px;max-width:1250px;width:100%;margin:auto}.tab{display:none}.tab.active{display:block}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:#5363ff}h1{font-size:clamp(30px,4vw,52px);line-height:1.06;letter-spacing:-.04em;margin:8px 0 10px}p{color:#697386}.cta,.primary{border:0;border-radius:13px;padding:14px 18px;background:#0b1220;color:white;font-weight:900;cursor:pointer}.panel{background:white;border:1px solid #e7eaf0;border-radius:20px;padding:20px;margin-bottom:16px;box-shadow:0 8px 28px rgba(15,23,42,.04)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:white;border:1px solid #e7eaf0;border-radius:18px;padding:18px}.stat small{color:#7b8493}.stat b{display:block;font-size:28px;margin-top:6px}.brief{font-size:18px;line-height:1.7;font-weight:700}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.drop{min-height:430px;border:2px dashed #c9cfda;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:#fafbfc;cursor:pointer;text-align:center}.drop input{display:none}.drop span{display:block;color:#8a94a3;margin-top:8px}.drop img{max-width:100%;max-height:430px;object-fit:contain}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:12px;font-weight:800;color:#4b5563}input,textarea{width:100%;border:1px solid #d8dde6;border-radius:10px;padding:11px;margin-top:6px;font:inherit;outline:none}input:focus,textarea:focus{border-color:#5363ff;box-shadow:0 0 0 3px #e9ebff}.quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.quick div{background:#f7f8fa;border-radius:12px;padding:11px;font-size:12px}.quick b{display:block;font-size:18px;margin-top:5px}.primary{width:100%;margin-top:6px}.center{text-align:center;padding:45px}.spinner{width:34px;height:34px;border:4px solid #e3e7ed;border-top-color:#0b1220;border-radius:50%;animation:s 1s linear infinite;margin:auto}@keyframes s{to{transform:rotate(360deg)}}.hero{background:#0b1220;color:white}.hero p{color:#b4bed0}.heroTop{display:flex;justify-content:space-between;gap:20px;align-items:center}.score{font-size:68px;font-weight:950}.pill{display:inline-block;padding:7px 10px;border-radius:99px;background:#24304a;font-size:12px;font-weight:900}.verdict{font-size:28px;font-weight:950;margin-top:8px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.metric{background:#f7f8fa;border-radius:13px;padding:13px}.metric small{color:#7b8493}.metric b{display:block;font-size:19px;margin-top:5px}.staffgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.worker{background:white;border:1px solid #e7eaf0;border-radius:16px;padding:15px}.worker .n{font-size:11px;color:#8791a1}.worker h3{margin:5px 0;font-size:16px}.worker p{font-size:12px;line-height:1.5;margin:5px 0}.status{font-size:11px;font-weight:900}.ok{color:#138a55}.wait{color:#b7791f}.approval{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:white;border:1px solid #e7eaf0;border-radius:16px;padding:16px;margin-bottom:10px}.approval h3{margin:0 0 4px}.approval p{margin:3px 0;font-size:13px}.actions{display:flex;gap:7px}.actions button{border:1px solid #d7dce5;background:white;border-radius:9px;padding:9px 11px;font-weight:800;cursor:pointer}.actions .approve{background:#0b1220;color:white;border-color:#0b1220}.record{display:grid;grid-template-columns:1.6fr .6fr .6fr .8fr .8fr;gap:10px;align-items:center;background:white;border:1px solid #e7eaf0;border-radius:14px;padding:13px;margin-bottom:8px}.record b{font-size:14px}.record span{font-size:12px;color:#6f7a89}.cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{background:#f7f8fa;border-radius:14px;padding:15px}.mini h3{margin:0 0 9px}.mini ul{padding-left:18px;margin:0;color:#53606f;line-height:1.65;font-size:13px}.confidence{font-size:13px;color:#d2d8e4;margin-top:10px}.empty{padding:30px;text-align:center;color:#8490a0;background:white;border-radius:16px;border:1px solid #e7eaf0}@media(max-width:900px){.shell{display:block}aside{height:auto;position:static;padding:12px;display:flex;align-items:center;overflow:auto}.brand{display:none}nav{display:flex;min-width:max-content}.nav{width:auto}.plan{position:static;margin-left:auto;min-width:120px}main{padding:18px}.two{grid-template-columns:1fr}.drop{min-height:280px}.stats,.metrics{grid-template-columns:1fr 1fr}.staffgrid{grid-template-columns:1fr 1fr}.record{grid-template-columns:1.5fr .6fr .6fr}.record span:nth-last-child(-n+2){display:none}}@media(max-width:560px){.stats,.metrics,.staffgrid,.grid,.quick,.cols{grid-template-columns:1fr}.approval{grid-template-columns:1fr}.actions{flex-wrap:wrap}.score{font-size:50px}.top{display:block}.cta{margin-top:8px}}
.opsgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compactlist{display:grid;gap:8px;margin-top:16px;max-height:420px;overflow:auto}
.row{display:grid;gap:4px;padding:12px;border-radius:12px;background:#f9fafb;border:1px solid #eef0f4;font-size:13px}
.row span{color:#6b7280}.event{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-bottom:1px solid #eef0f4;font-size:13px}
.event.warn{background:#fffbeb}.event.danger{background:#fef2f2}.event span{color:#6b7280}.worker button{margin-top:10px;border:1px solid #d1d5db;background:white;border-radius:10px;padding:9px 10px;cursor:pointer}
@media(max-width:900px){.opsgrid{grid-template-columns:1fr}}

.accountbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:12px;background:white;border-radius:14px;box-shadow:0 4px 16px rgba(17,24,39,.05)}
.accountbar span{display:block;font-size:12px;color:#6b7280;margin-top:2px}.accountbar button,.authactions button{border:1px solid #d1d5db;background:white;border-radius:10px;padding:9px 12px;cursor:pointer}
.modal{position:fixed;inset:0;background:rgba(17,24,39,.55);z-index:50;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modalbox{width:min(420px,100%);background:white;border-radius:20px;padding:24px;position:relative}.modalbox .x{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:24px}.authactions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}

.checks{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0 16px}.checks label{display:flex;gap:7px;align-items:center;font-size:14px}.checks input{width:auto}

.brand small{display:block;margin-top:8px;font-size:10px;letter-spacing:1.5px;opacity:.65}.cta.on{box-shadow:0 0 0 3px rgba(255,255,255,.15)}
select{width:100%;border:1px solid #d8dde6;border-radius:10px;padding:11px;margin-top:6px;font:inherit;background:white}pre{white-space:pre-wrap;word-break:break-word;background:#0b1220;color:#dbe5f5;border-radius:14px;padding:16px;max-height:520px;overflow:auto}.sourceHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.sourceHead h2{margin:0}.sourceHead p{word-break:break-all}.sourceActions{display:flex;gap:8px;flex-wrap:wrap}.sourceActions button{border:1px solid #d7dce5;background:white;border-radius:10px;padding:10px 12px;font-weight:800;cursor:pointer}.sourceActions button:last-child{background:#0b1220;color:white;border-color:#0b1220}code{background:#eef1f5;padding:2px 5px;border-radius:5px}
