/* 로그인·스태프·관제 공통 */
.auth-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#1c2940 0%,#0d1420 70%);padding:24px}
.auth-card{width:100%;max-width:420px;background:#121a2a;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:40px 36px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.auth-card .logo{font-size:30px;font-weight:900;letter-spacing:.04em;color:#fff;text-decoration:none}.auth-card .logo span{color:#ff6a1a}
.auth-card h1{font-size:22px;margin:18px 0 4px}.auth-card .sub{color:#8a96ab;font-size:14px;margin:0 0 26px}
.auth-card label{display:block;font-size:13px;color:#aeb8ca;font-weight:700;margin:14px 0 6px}
.auth-card input{width:100%;box-sizing:border-box;background:#0f1622;border:1px solid #2a3850;border-radius:10px;padding:13px 14px;color:#fff;font-size:16px;font-family:inherit}
.auth-card input:focus{outline:none;border-color:#ff6a1a}
.auth-card .btn{width:100%;margin-top:22px;padding:14px;font-size:16px;cursor:pointer}
.auth-err{display:none;margin-top:14px;padding:10px 12px;border-radius:8px;background:rgba(255,77,77,.12);color:#ff8a8a;font-size:13.5px}
.auth-err.on{display:block}
.auth-foot{margin-top:22px;font-size:12.5px;color:#6f7b90;text-align:center}
/* 스태프/관제 상단바 */
.stbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:0 24px;height:60px;background:#0d1420;border-bottom:1px solid rgba(255,255,255,.08)}
.stbar .logo{font-size:22px;font-weight:900;color:#fff;text-decoration:none}.stbar .logo span{color:#ff6a1a}
.stbar .tag{font-size:12px;font-weight:700;color:#0d1420;background:#ffd200;border-radius:6px;padding:3px 8px}
.stbar nav{display:flex;gap:4px;margin-left:12px}.stbar nav a{color:#aeb8ca;text-decoration:none;font-size:14px;font-weight:700;padding:8px 12px;border-radius:8px}
.stbar nav a:hover,.stbar nav a.on{color:#fff;background:#172134}
.stbar .me{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:13.5px;color:#aeb8ca}.stbar .me b{color:#fff}
.stbar .me button{background:transparent;border:1px solid #2a3850;color:#aeb8ca;border-radius:8px;padding:6px 12px;cursor:pointer;font-family:inherit}
.stmain{max-width:1200px;margin:0 auto;padding:28px 24px}
.stgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.stcard{background:#121a2a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:22px;color:#fff;text-decoration:none;display:block}
.stcard:hover{border-color:#ff6a1a}.stcard h3{margin:0 0 6px;font-size:17px}.stcard p{margin:0;color:#8a96ab;font-size:13.5px;line-height:1.5}
.stcard .ic{font-size:26px;margin-bottom:10px}
table.st{width:100%;border-collapse:collapse;font-size:14px}table.st th,table.st td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);text-align:left}
table.st th{color:#8a96ab;font-weight:700;font-size:12.5px}table.st td .pill{font-size:12px;padding:3px 8px;border-radius:999px;background:#172134;color:#dbe3ee}
table.st td .pill.admin{background:#ff6a1a;color:#0d1420}table.st td .pill.gov{background:#38bdf8;color:#0d1420}table.st td .off{color:#ff8a8a}
.stbtn{background:#172134;border:1px solid #2a3850;color:#dbe3ee;border-radius:8px;padding:6px 10px;font-size:12.5px;cursor:pointer;font-family:inherit}.stbtn:hover{border-color:#ff6a1a}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;place-items:center;z-index:100}.modal.open{display:grid}
.modal .auth-card{max-width:440px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note{font-size:13px;color:#8a96ab;margin-top:8px}
.temp{margin-top:14px;padding:12px;background:#0f1622;border:1px dashed #ffd200;border-radius:10px;font-family:monospace;font-size:15px;color:#ffd200;word-break:break-all}
