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

:root {
    --wood-dark:   #3b2008;
    --wood-mid:    #6b3a1f;
    --wood-light:  #a0622a;
    --wood-grain:  #c8894e;
    --wood-cream:  #f5e6cc;
    --wood-shadow: rgba(30, 12, 0, 0.55);
    --text-light:  #f9f0e3;
    --text-muted:  #c9a87a;
}

html, body {
    height: 100%;
    overflow: hidden;
    font-family: 'Georgia', 'Times New Roman', serif;
}

/* ── Login Screen ── */
#login-screen {
    position: fixed;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-bg {
    position: absolute;
    inset: 0;
    background-image: url('/assets/img/Background_Login.webp');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    filter: blur(8px) brightness(0.55);
    transform: scale(1.05);
}

/* Wood card */
.login-card {
    position: relative;
    z-index: 1;
    width: min(420px, 92vw);
    background:
        repeating-linear-gradient(
            92deg,
            transparent 0px, transparent 2px,
            rgba(255,255,255,0.025) 2px, rgba(255,255,255,0.025) 4px
        ),
        repeating-linear-gradient(
            180deg,
            rgba(0,0,0,0.08) 0px, rgba(0,0,0,0.08) 1px,
            transparent 1px, transparent 6px
        ),
        linear-gradient(160deg, #6b3a1f 0%, #3b2008 40%, #5a3018 70%, #7d4a28 100%);
    border-radius: 12px;
    padding: 2.5rem 2.25rem 2.25rem;
    box-shadow:
        0 0 0 1px rgba(200,137,78,0.3),
        0 4px 12px rgba(0,0,0,0.5),
        inset 0 1px 0 rgba(255,255,255,0.1);
    border: 1px solid var(--wood-grain);
}

.login-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: repeating-linear-gradient(
        170deg,
        transparent 0px, transparent 8px,
        rgba(200,137,78,0.04) 8px, rgba(200,137,78,0.04) 9px
    );
    pointer-events: none;
}

.login-logo {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    margin: 0 0 2rem;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

.login-title strong {
    display: block;
    font-size: 1.25rem;
    color: var(--wood-grain);
}

/* Inputs */
.field {
    margin-bottom: 1.25rem;
}

.field label {
    display: block;
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-bottom: 0.4rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.field input {
    width: 100%;
    padding: 0.65rem 0.9rem;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(200,137,78,0.35);
    border-radius: 6px;
    color: var(--text-light);
    font-family: inherit;
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.2s, background 0.2s;
}

.field input::placeholder { color: rgba(249,240,227,0.3); }

.field input:focus {
    border-color: var(--wood-grain);
    background: rgba(255,255,255,0.11);
}

/* Error */
.login-error {
    background: rgba(180,40,40,0.25);
    border: 1px solid rgba(220,60,60,0.4);
    border-radius: 6px;
    color: #f8b4b4;
    font-size: 0.85rem;
    padding: 0.6rem 0.9rem;
    margin-bottom: 1.25rem;
    text-align: center;
}

/* Button */
.btn-login {
    width: 100%;
    padding: 0.75rem;
    background: linear-gradient(160deg, var(--wood-grain) 0%, var(--wood-light) 100%);
    border: 1px solid rgba(200,137,78,0.5);
    border-radius: 6px;
    color: var(--wood-dark);
    font-family: inherit;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: filter 0.2s, transform 0.1s;
    box-shadow: 0 2px 6px rgba(0,0,0,0.4);
    text-transform: uppercase;
}

.btn-login:hover  { filter: brightness(1.1); }
.btn-login:active { transform: scale(0.98); }
