/* DM Admin UI — Login page */

*, *::before, *::after { box-sizing: border-box; }

html, body.login {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #0f172a;
}

/* Left branding panel */
.dm-login-panel {
    position: fixed;
    left: 0;
    top: 0;
    width: 42%;
    height: 100%;
    background: linear-gradient(145deg, #0057ff 0%, #003bb5 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem;
    z-index: 0;
    overflow: hidden;
}

.dm-login-panel::before {
    content: '';
    position: absolute;
    top: -120px;
    right: -80px;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: rgba(255,255,255,.06);
}

.dm-login-panel::after {
    content: '';
    position: absolute;
    bottom: -80px;
    left: -60px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
}

.dm-login-panel__inner {
    position: relative;
    z-index: 1;
    color: #fff;
    max-width: 320px;
}

.dm-login-logo {
    font-size: 2.25rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    margin-bottom: .75rem;
}

.dm-login-tagline {
    font-size: 1.05rem;
    opacity: .8;
    margin: 0 0 2rem;
    font-weight: 400;
    line-height: 1.5;
}

.dm-login-features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.dm-login-features li {
    font-size: .9rem;
    opacity: .75;
    padding-left: 1.4rem;
    position: relative;
}

.dm-login-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    opacity: .9;
    font-weight: 700;
}

/* Login box — right side */
#login {
    position: relative;
    z-index: 1;
    width: 380px !important;
    padding: 2.5rem !important;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 25px 60px rgba(0,0,0,.4);
    margin: 0 !important;
    /* Center vertically, push to right of panel */
    position: fixed !important;
    right: calc(29% - 190px);
    top: 50%;
    transform: translateY(-50%);
}

/* Logo / app name inside form */
.login h1 {
    margin: 0 0 1.5rem !important;
}

.login h1 a {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
    text-indent: 0 !important;
    overflow: visible !important;
    display: block !important;
    color: #0f172a !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    padding: 0 !important;
    outline: none !important;
}

.login h1 a::before {
    content: 'Deskmotors';
}

/* Labels */
.login label {
    font-size: .82rem !important;
    font-weight: 600 !important;
    color: #374151 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

/* Inputs */
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 8px !important;
    padding: .65rem .85rem !important;
    font-size: .95rem !important;
    color: #111827 !important;
    background: #f9fafb !important;
    box-shadow: none !important;
    transition: border-color .15s, box-shadow .15s !important;
}

.login input[type="text"]:focus,
.login input[type="password"]:focus {
    border-color: #0057ff !important;
    box-shadow: 0 0 0 3px rgba(0,87,255,.12) !important;
    background: #fff !important;
    outline: none !important;
}

/* Submit */
.login .button-primary,
.login input[type="submit"] {
    background: #0057ff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: .7rem 1.5rem !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    height: auto !important;
    letter-spacing: .01em !important;
    text-shadow: none !important;
    box-shadow: 0 4px 12px rgba(0,87,255,.35) !important;
    transition: background .15s, box-shadow .15s !important;
}

.login .button-primary:hover {
    background: #0040cc !important;
    box-shadow: 0 6px 16px rgba(0,87,255,.45) !important;
}

/* "Remember me" */
.login .forgetmenot label {
    font-size: .83rem !important;
    color: #6b7280 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 400 !important;
}

/* Nav links */
.login #nav, .login #backtoblog { margin: 1rem 0 0 !important; }
.login #nav a, .login #backtoblog a {
    color: #6b7280 !important;
    font-size: .82rem !important;
    text-decoration: none !important;
}
.login #nav a:hover { color: #0057ff !important; }

/* Hide "Back to blog" */
#backtoblog { display: none !important; }

/* Language switcher */
.language-switcher { display: none !important; }

/* Errors */
#login_error {
    border-left-color: #ef4444 !important;
    background: #fef2f2 !important;
    color: #dc2626 !important;
    border-radius: 8px !important;
    margin-bottom: 1rem !important;
}
.login .message {
    border-left-color: #0057ff !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-radius: 8px !important;
}

/* Footer */
.dm-login-footer {
    position: fixed;
    bottom: 1.25rem;
    right: calc(29% - 190px);
    width: 380px;
    text-align: center;
    color: rgba(255,255,255,.3);
    font-size: .75rem;
    z-index: 1;
}

/* Responsive */
@media (max-width: 860px) {
    .dm-login-panel { display: none; }
    #login {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        margin: 4rem auto 0 !important;
        width: 340px !important;
    }
    .dm-login-footer {
        position: relative;
        right: auto;
        width: auto;
        margin: 1rem auto;
        color: rgba(255,255,255,.3);
        text-align: center;
        display: block;
    }
}
