.auth-public {
    --auth-image: url("/media/photos/bcn-auth-secure-access.png");
    position: relative; min-height: 100vh; overflow: hidden; isolation: isolate;
    background: #080d0b; color: #eef5f1;
}
.auth-public--register { --auth-image: url("/media/photos/bcn-auth-personnel-intake.png"); }
.auth-public::before {
    position: fixed; inset: 0; z-index: -2; content: "";
    background: linear-gradient(90deg, rgba(3,9,7,.86), rgba(5,13,10,.62) 48%, rgba(3,8,7,.82)), linear-gradient(180deg, rgba(2,7,5,.3), rgba(2,7,5,.82)), var(--auth-image) center / cover no-repeat;
    filter: saturate(.72) contrast(1.08);
}
.auth-public::after {
    position: fixed; inset: 0; z-index: -1; pointer-events: none; content: ""; opacity: .2;
    background-image: linear-gradient(rgba(83,203,160,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(83,203,160,.18) 1px, transparent 1px);
    background-size: 56px 56px;
}
.auth-public__nav {
    position: relative; z-index: 5; min-height: 72px; border-bottom: 1px solid rgba(89,218,170,.28);
    background: rgba(4,10,8,.76); box-shadow: 0 10px 30px rgba(0,0,0,.24); backdrop-filter: blur(14px);
}
.auth-public__nav img { filter: drop-shadow(0 0 12px rgba(69,214,162,.25)); }
.auth-public__stage, .auth-public__stage > .container-fluid, .auth-public__stage .row { min-height: calc(100vh - 72px) !important; }
.auth-public__brief { display: none !important; }
.auth-public__panel {
    flex: 0 0 100%; width: 100%; max-width: 100%; justify-content: center;
    padding: clamp(2rem, 6vh, 4.5rem) 1rem; background: transparent;
}
.auth-public__panel-inner { width: 100%; max-width: 570px; margin: auto; }
.auth-public--register .auth-public__panel-inner { max-width: 760px; }
.auth-public__panel-inner > .kicker {
    text-align: center; color: #52d7a8; font-family: var(--bs-font-monospace);
    font-size: .72rem; letter-spacing: .16em; text-transform: uppercase;
}
.auth-public__panel-inner > .px-4.py-2 { position: relative; margin-bottom: 1rem !important; padding-bottom: 1rem !important; }
.auth-public__panel-inner > .px-4.py-2::after {
    position: absolute; right: 42%; bottom: 0; left: 42%; height: 2px; content: "";
    background: #4fd7a6; box-shadow: 0 0 12px rgba(79,215,166,.65);
}
.auth-public__panel-inner > .px-4.py-2 h1 {
    font-family: var(--bs-font-monospace); font-size: clamp(1.25rem, 3vw, 1.55rem);
    font-weight: 700 !important; letter-spacing: .08em; text-transform: uppercase; text-shadow: 0 2px 14px #000;
}
.auth-public__panel-inner > .px-4:not(.py-2) .block, .auth-public__panel-inner > .block {
    border: 1px solid rgba(112,160,140,.46); border-left: 3px solid #4fd7a6; border-radius: 0 !important;
    background: linear-gradient(135deg, rgba(22,31,28,.96), rgba(12,20,17,.96));
    box-shadow: 0 24px 70px rgba(0,0,0,.5), 0 0 36px rgba(53,168,127,.08); backdrop-filter: blur(18px);
}
.auth-public .block-header { min-height: 48px; border-bottom: 1px solid rgba(112,160,140,.32); background: rgba(103,119,114,.23); }
.auth-public .form-control, .auth-public .form-select {
    min-height: 54px; border-color: rgba(110,139,129,.42); border-radius: 0; background: rgba(5,10,8,.72); color: #edf5f1;
}
.auth-public .form-control:focus, .auth-public .form-select:focus {
    border-color: #4fd7a6; background: rgba(5,10,8,.9); box-shadow: 0 0 0 2px rgba(79,215,166,.14);
}
.auth-public .btn { border-radius: 0; font-family: var(--bs-font-monospace); font-weight: 700; letter-spacing: .035em; }
.auth-public__panel-inner > div:last-child { margin-top: 1rem; }
@media (max-width: 767.98px) {
    .auth-public__nav { min-height: 64px; }
    .auth-public__stage, .auth-public__stage > .container-fluid, .auth-public__stage .row { min-height: calc(100vh - 64px) !important; }
    .auth-public__panel { align-items: flex-start !important; padding: 2.25rem .25rem 1.5rem; }
    .auth-public__panel-inner { max-width: 100%; }
    .auth-public__panel-inner > .px-4:not(.py-2) { padding-right: .75rem !important; padding-left: .75rem !important; }
    .auth-public::before { background-position: 42% center; }
}
