/* 클래버 — 관리자 로그인·대시보드. 틀은 console.css. 공유 파일. 담당 CSS 는 arev.css · afin.css 에 접두어(.arev- · .afin-)로. */
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 32rem); background: var(--bg); }
.login-side { position: relative; overflow: hidden; background: var(--night); }
.login-side img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.login-side::after { content: ""; position: absolute; inset: 0; background: var(--login-shade); }
.login-side-text { position: absolute; left: 3rem; right: 3rem; bottom: 3rem; z-index: 1; color: var(--on-night); }
.login-side-title { font-size: 2rem; font-weight: 800; line-height: 1.3; letter-spacing: -0.03em; margin-bottom: .5rem; }
.login-card { align-self: center; justify-self: center; width: min(28rem, 100%); padding: 2.5rem 2rem; }
.login-card .logo { margin-bottom: 2rem; }
.login-card h1 { font-size: 1.75rem; }
.login-card .lead { color: var(--ink-3); margin: .375rem 0 1.5rem; font-size: 1rem; }
.login-card .auth-links { display: flex; justify-content: center; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-4); font-size: var(--fs-sm); }
.login-card .auth-links a { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 .3rem; color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; }
.login-card .auth-links span { display: inline-flex; align-items: center; color: var(--line-strong); }
.demo-box { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 1.25rem; padding: .85rem 1rem; border-radius: var(--r); background: var(--surface-2); font-size: var(--fs-sm); color: var(--ink-2); }
@media (max-width: 900px) { .login-shell { grid-template-columns: 1fr; } .login-side { display: none; } .login-card { padding: 2rem 1.25rem; } }
/* 대시보드 */
.dash-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1200px) { .dash-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .dash-stats { grid-template-columns: 1fr; } }
.dash-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1rem; }
@media (max-width: 1500px) { .dash-grid { grid-template-columns: minmax(0, 1fr); } }
.dash-grid .table td { white-space: nowrap; }
.dash-grid .table { min-width: 520px; }
