@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;600;700;800;900&display=swap');
*{box-sizing:border-box}
body{margin:0;font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#eef3f5;color:#17212b}
button,input,select,textarea{font:inherit}
button{border:0;background:#0f2f3f;color:white;border-radius:12px;padding:11px 14px;font-weight:900;cursor:pointer}
input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:white}
textarea{min-height:120px}
.hidden{display:none!important}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,#082f49,#155e75)}
.login-card{width:min(460px,92vw);background:white;border-radius:24px;padding:30px;box-shadow:0 30px 90px #0004}
.login-card h1{margin:0 0 10px;color:#0f2f3f}
.login-card label{display:block;margin:14px 0;font-weight:800}
.note{color:#64748b;font-size:14px}
#adminApp{display:grid;grid-template-columns:280px 1fr;min-height:100vh}
.sidebar{background:#082f49;color:white;padding:24px;position:sticky;top:0;height:100vh;overflow:auto}
.sidebar h2{margin-bottom:0}
.sidebar p{color:#bae6fd;margin-top:4px}
.sidebar button{display:block;width:100%;margin:8px 0;text-align:left;background:#164e63}
.sidebar button.active{background:#0f766e}
.content{padding:28px 4vw}
.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}
.top h1{margin:0;font-size:34px}
#syncState{background:white;border:1px solid #dbe3e8;border-radius:999px;padding:8px 12px;color:#0f766e;font-weight:900}
.page{display:none}
.page.active{display:block}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.card,.panel,.row{background:white;border:1px solid #dbe3e8;border-radius:18px;box-shadow:0 18px 45px #02081710;padding:18px}
.card h3{margin:0;color:#475569}
.card .num{font-size:38px;font-weight:900;color:#0f766e}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tools{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin-bottom:16px}
.row{margin:10px 0}
.row-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.row h3{margin:4px 0}
.meta{color:#64748b;font-size:13px;line-height:1.6}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.actions button{padding:8px 10px;border-radius:999px;background:#164e63}
.actions button.danger{background:#b91c1c}
.actions button.warn{background:#92400e}
.badge{display:inline-block;background:#eef6f8;color:#31505f;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900;margin:2px}
.status-대기{background:#fee2e2;color:#991b1b}
.status-검토중{background:#fef3c7;color:#92400e}
.status-처리완료{background:#dcfce7;color:#166534}
.status-기각{background:#e5e7eb;color:#374151}
@media(max-width:900px){
  #adminApp{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .cards,.grid2,.tools{grid-template-columns:1fr}
  .top{align-items:flex-start;flex-direction:column}
}