body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f4f6f9 0%, #fff 55%, #eef2f7 100%);
}
.login-card {
    width: min(380px, calc(100% - 2rem));
    padding: 2.5rem 2.2rem 2rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 8px 48px rgba(0,0,0,.22);
}
.login-logo { width: 64px; height: 64px; border-radius: 16px; object-fit: cover; box-shadow: 0 0 0 3px rgba(249,212,35,.45); }
.login-title { font-size: 1.35rem; font-weight: 700; color: #b77900; }
.login-subtitle { color: #6b7280; font-size: .85rem; }
.login-card .form-label { color: #374151; font-size: .88rem; font-weight: 500; }
.login-card .form-control { background: #fff; border: 1px solid #d1d5db; color: #111827; border-radius: 10px; padding: .6rem .9rem; }
.login-card .form-control:focus { border-color: rgba(249,212,35,.5); box-shadow: 0 0 0 3px rgba(249,212,35,.15); }
.login-card .form-control::placeholder { color: #9ca3af; }
.login-card .form-check-label { color: #6b7280; font-size: .83rem; cursor: pointer; }
.btn-login { width: 100%; padding: .6rem; background: linear-gradient(135deg, #f9d423, #f5af19); color: #1a1d23; font-weight: 700; border: 0; border-radius: 10px; transition: opacity .2s, transform .1s; }
.btn-login:hover { opacity: .9; transform: translateY(-1px); }
.login-error { padding: .55rem .9rem; background: rgba(220,53,69,.1); border: 1px solid rgba(220,53,69,.35); color: #b02a37; border-radius: 10px; font-size: .86rem; }
[data-theme="dark"] body { background: linear-gradient(135deg, #1a1d23 0%, #23272f 55%, #1a1d23 100%); }
[data-theme="dark"] .login-card { background: #1e2128; border-color: rgba(255,255,255,.07); }
[data-theme="dark"] .login-subtitle, [data-theme="dark"] .login-card .form-check-label { color: rgba(255,255,255,.55); }
[data-theme="dark"] .login-card .form-label { color: rgba(255,255,255,.75); }
[data-theme="dark"] .login-card .form-control { background: #2a2f3a; border-color: rgba(255,255,255,.1); color: #e8eaf6; }
