*{box-sizing:border-box}body{margin:0;color:#1a2b46;background:#f2f5fa;font-family:Inter,"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}header{height:68px;padding:0 max(24px,calc((100% - 1450px)/2));display:flex;align-items:center;gap:18px;color:#fff;background:#07172f}header>a{color:#9faec4;text-decoration:none;font-size:9px}header>div{display:flex;align-items:baseline;gap:10px;margin:auto}header b{font-size:18px}header span{color:#9aabc3;font-size:9px}header button{border:1px solid rgba(255,255,255,.1);border-radius:9px;color:#b9c5d7;background:rgba(255,255,255,.04);padding:8px 10px;font-size:8px}main{width:min(calc(100% - 42px),1450px);margin:auto;padding:28px 0 70px}.hero{display:flex;align-items:flex-end;justify-content:space-between}.hero p,.modal-head p,dialog form>p,.search-modal p{margin:0 0 4px;color:#aa6e8d;font-size:7px;font-weight:950;letter-spacing:.18em}.hero h1{margin:0;font-size:31px}.hero span{display:block;margin-top:5px;color:#7f8ea3;font-size:9px}.hero-actions{display:flex;gap:7px}.hero-actions button,.topicbar button,.toolbar button{min-height:39px;padding:0 12px;border:1px solid #dce4ed;border-radius:10px;color:#66778e;background:#fff;font-size:8px;font-weight:900}.primary{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,#5471a3,#886a9e)!important}.danger{color:#a9576b!important;border-color:#efd3da!important;background:#fff5f7!important}.riot{color:#dfc28b!important;border-color:#c9aa6d!important;background:#17233d!important}.hidden{display:none!important}
.topicbar{margin-top:23px;padding:12px;display:flex;align-items:end;gap:8px;border:1px solid #dfe6ef;border-radius:16px;background:#fff}.topicbar label{min-width:350px;color:#8795a9;font-size:7px;font-weight:900}.topicbar select{width:100%;height:38px;margin-top:4px;padding:0 10px;border:1px solid #dce3ec;border-radius:9px;background:#f9fbfd;color:#243653}
.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:14px}.stats div{padding:14px 15px;border:1px solid #dfe6ef;border-radius:14px;background:#fff}.stats span{display:block;color:#8997aa;font-size:7px;font-weight:900}.stats b{display:block;margin-top:3px;font-size:24px}
.toolbar{margin-top:14px;display:grid;grid-template-columns:1fr 190px auto auto;gap:8px}.toolbar input,.toolbar select{height:42px;padding:0 12px;border:1px solid #dce3ec;border-radius:11px;background:#fff;color:#243653;font-size:9px}
.tablebox{margin-top:12px;overflow:hidden;border:1px solid #dfe6ef;border-radius:17px;background:#fff}table{width:100%;border-collapse:collapse}th{padding:11px 13px;color:#8594a9;background:#f6f8fb;text-align:left;font-size:7px;letter-spacing:.08em}td{padding:9px 13px;border-top:1px solid #edf0f4;font-size:9px}td img{width:54px;height:54px;object-fit:cover;border-radius:10px;background:#edf1f6}.noimg{width:54px;height:54px;display:grid;place-items:center;border-radius:10px;color:#9aa7b8;background:#edf1f6;font-size:17px}.status{display:inline-flex;padding:5px 7px;border-radius:999px;background:#eef2f7;color:#738298;font-size:7px;font-weight:900}.status.ready{color:#397966;background:#eaf6f2}.status.none{color:#96734e;background:#f7f1e9}.status.review{color:#785d92;background:#f1edf6}.status.error{color:#a45263;background:#faecef}.editbtn{border:1px solid #dce3ec;border-radius:8px;background:#fafbfd;color:#61738b;padding:7px 9px;font-size:7px;font-weight:900}.empty{padding:40px;text-align:center;color:#8997aa;font-size:9px}.tablebox footer{padding:10px;display:flex;justify-content:center;align-items:center;gap:15px;border-top:1px solid #edf0f4}.tablebox footer button{border:1px solid #dfe5ed;border-radius:8px;background:#fafbfd;color:#6d7e94;padding:7px 10px;font-size:7px}.tablebox footer span{font-size:8px;color:#75859a}
dialog{width:min(92vw,760px);padding:0;border:1px solid #dfe6ef;border-radius:20px;box-shadow:0 28px 90px rgba(3,13,33,.35)}dialog::backdrop{background:rgba(3,12,30,.72);backdrop-filter:blur(6px)}dialog form,.search-modal{padding:22px}dialog.small{width:340px}dialog.small form{display:grid;gap:10px}dialog h2{margin:0 0 14px;font-size:23px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head>span{color:#8b99ac;font-size:8px}.modal-head>button{border:0;background:none;font-size:22px;color:#6e7f94}.modal-actions{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin-top:16px}.card-actions{grid-template-columns:auto 1fr auto auto}.modal-actions button{min-height:38px;padding:0 13px;border:1px solid #dce3ec;border-radius:9px;background:#fafbfd;color:#65778e;font-size:8px;font-weight:900}
label{display:grid;gap:5px;color:#74849a;font-size:8px;font-weight:900}input,select,textarea{width:100%;border:1px solid #dce3ec;border-radius:9px;background:#f9fbfd;color:#263853;padding:10px;font-size:9px}textarea{min-height:85px;resize:vertical}.check{display:flex;align-items:center;gap:7px}.check input{width:auto}.card-editor{display:grid;grid-template-columns:260px 1fr;gap:18px}.card-preview{width:240px;height:240px;display:grid;place-items:center;overflow:hidden;border:1px solid #dfe6ef;border-radius:16px;background:#eef2f7;color:#8d9bae}.card-preview img{width:100%;height:100%;object-fit:cover}.image-editor>span{display:block;margin:7px 0;color:#7d8ca1;font-size:8px}.image-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.image-buttons button,.image-buttons label{min-height:36px;display:grid;place-items:center;border:1px solid #dce3ec;border-radius:9px;background:#fafbfd;color:#687a91;font-size:7px;font-weight:900}.image-buttons input{display:none}.fields{display:grid;gap:10px}.search-controls{display:grid;grid-template-columns:170px 1fr auto;gap:7px}.search-controls button{border:0;border-radius:9px;padding:0 15px}.candidates{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.candidate{overflow:hidden;border:1px solid #dfe6ef;border-radius:12px;background:#fafbfd}.candidate img{width:100%;aspect-ratio:1;object-fit:cover;background:#edf1f6}.candidate div{padding:8px}.candidate b{display:block;height:28px;overflow:hidden;font-size:8px}.candidate span{display:block;margin:4px 0;color:#8997aa;font-size:6px}.candidate button{width:100%;height:30px;border:0;border-radius:7px;color:#fff;background:#6577a6;font-size:7px;font-weight:900}#toast{position:fixed;right:22px;bottom:22px;z-index:1000;max-width:380px;padding:12px 14px;border-radius:11px;color:#fff;background:#182b4c;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:8px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:none}
