/* 로그인 화면 전용 배치 — 색·글꼴·버튼·입력·카드는 /static/ui/theme.css(공통 정본) */
.login-main { display: flex; justify-content: center; align-items: flex-start; padding-top: 48px; }
.login-card { width: 100%; max-width: 400px; }
.login-card label { display: block; margin: 12px 0 4px; font-size: 12px; color: var(--theme-muted); }
.login-card .ui-input { width: 100%; }
.login-submit { width: 100%; margin-top: 18px; }
.staff-list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.staff-list button { width: 100%; justify-content: space-between; padding: 10px 12px; font-size: 13px; }
.login-error:empty { display: none; }
.login-error { margin-top: 14px; padding: 10px 12px; border: 1px solid var(--theme-danger-line); border-radius: var(--theme-radius); color: var(--theme-danger); background: var(--theme-danger-soft); font-size: 13px; overflow-wrap: anywhere; }
@media (max-width: 480px) { .login-main { padding: 16px; } }
.staff-list button > span:first-child { flex: 1; min-width: 0; text-align: left; overflow-wrap: anywhere; }
.staff-list button > .ui-badge { flex: none; white-space: nowrap; }
.login-notice { margin: 0 0 14px; font-size: 13px; }
.login-notice-title { display: block; margin-bottom: 2px; }
.google-mark { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #3c3524; color: var(--theme-yellow); font: 700 11px/1 var(--theme-font); }
.login-hint { margin: 10px 0 0; font-size: 12px; text-align: center; }
