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

body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.2rem;
    font: 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #e8e8ea;
    background: #0d0d0f url("img/login-bg.png") center / cover no-repeat fixed;
}

.panel {
    background: rgba(13, 13, 15, .72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 4px;
    padding: 2.8rem 2.6rem;
    max-width: 22rem;
    width: 100%;
}

.panel h1 {
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
}

.panel .sub {
    margin-top: .5rem;
    color: #9a9aa2;
    font-size: .92rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: center;
}

.panel form {
    margin-top: 1.8rem;
    display: flex;
    flex-direction: column;
    gap: .9rem;
}

.panel label {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #9a9aa2;
}

.panel input {
    width: 100%;
    margin-top: .3rem;
    background: rgba(0, 0, 0, .35);
    border: 1px solid #3a3a42;
    border-radius: 2px;
    padding: .6rem .7rem;
    color: #e8e8ea;
    font-size: .95rem;
}
.panel input:focus { outline: none; border-color: #6b7a8f; }

.panel button {
    margin-top: .4rem;
    background: #6b7a8f;
    color: #0d0d0f;
    border: 0;
    border-radius: 2px;
    padding: .65rem 1rem;
    font-size: .8rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: filter .15s ease;
}
.panel button:hover { filter: brightness(1.1); }

.panel .error {
    margin-top: 1rem;
    background: rgba(150, 50, 50, .25);
    border: 1px solid #7a3b3b;
    border-radius: 2px;
    padding: .55rem .7rem;
    font-size: .85rem;
    color: #f0c9c9;
}

.panel .back {
    display: block;
    text-align: center;
    margin-top: 1.4rem;
    font-size: .78rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #9a9aa2;
    text-decoration: none;
}
.panel .back:hover { color: #e8e8ea; }
