:root{
  --bg:#eef3f7;--card:#fff;--ink:#14212b;--muted:#5a6a7a;
  --line:#d5e0ea;--blue:#1c569e;--blue2:#15457f;--red:#b83226;--ok:#1b7340;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Pretendard","Noto Sans KR",sans-serif;color:var(--ink);
background:radial-gradient(1200px 500px at 10% -10%,#d9e7f6 0%,transparent 55%),linear-gradient(180deg,#e7eef6,#eef3f7 50%,#f5f8fb)}
main{max-width:900px;margin:0 auto;padding:26px 16px 56px}
.top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}
h1{margin:0 0 6px;font-size:1.65rem;letter-spacing:-.02em}
.sub{margin:0;color:var(--muted);line-height:1.55}
.badge{display:inline-block;background:#1c569e;color:#fff;font-weight:800;font-size:.78rem;padding:6px 10px;border-radius:8px;margin-bottom:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:12px 0}
.card.hq{border-color:#b9cfe8;background:linear-gradient(180deg,#f6faff,#fff)}
.row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.name{margin:0 0 4px;font-size:1.12rem;font-weight:800}
.meta{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.btn{border:0;border-radius:10px;min-height:48px;padding:12px 18px;font-size:1rem;font-weight:800;cursor:pointer;color:#fff;background:var(--blue)}
.btn:hover{background:var(--blue2)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.danger{background:var(--red)}
.btn.ghost{background:#e8eef5;color:var(--ink)}
.alert{padding:12px 14px;border-radius:10px;margin:12px 0;font-weight:650}
.alert.ok{background:#e7f6ed;color:var(--ok)}
.alert.err{background:#fdecea;color:var(--red)}
.login-box{max-width:420px;margin:12vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}
.login-box label{display:block;font-weight:700;margin:14px 0 8px}
.login-box input{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;font-size:1.05rem}
.hint{font-size:.9rem;color:var(--muted);line-height:1.55}
.hold{font-size:.85rem;color:var(--muted);margin-top:6px}
.jobs p{margin:8px 0;font-size:.92rem}
@media(max-width:640px){.btn{width:100%}}
