/* Login-only floating glass; no image, library or authentication changes. */
.login-card.login-glass {
    color: #092e50;
    background: linear-gradient(135deg, rgba(109, 199, 255, .22), rgba(26, 104, 167, .14));
    border: 1px solid rgba(157, 232, 255, .8);
    border-radius: 22px;
    box-shadow: 0 24px 56px -16px rgba(9, 46, 80, .42),
                inset 0 1px 0 rgba(219, 249, 255, .8),
                inset 0 -1px 0 rgba(91, 196, 255, .28);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
    isolation: isolate;
    animation: flight-panel-arrive .7s cubic-bezier(.2, .8, .2, 1) both;
    transition: border-color .2s, box-shadow .2s;
}
.login-glass::before, .login-glass::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    pointer-events: none;
    border-color: #c6f5ff;
    border-style: solid;
    filter: drop-shadow(0 0 5px rgba(54, 184, 255, .5));
}
.login-glass::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; border-radius: 22px 0 0; }
.login-glass::after { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; border-radius: 0 0 22px; }
.login-glass-scan {
    position: absolute;
    top: 18px;
    bottom: 18px;
    right: -1px;
    width: 2px;
    pointer-events: none;
    overflow: hidden;
}
.login-glass-scan::before {
    content: "";
    display: block;
    height: 70px;
    background: linear-gradient(transparent, #d7fbff, #55ceff, transparent);
    animation: flight-edge-scan 4.5s ease-in-out both;
}
.login-glass:focus-within {
    border-color: #d7fbff;
    box-shadow: 0 24px 56px -16px rgba(9, 46, 80, .42), 0 0 0 3px rgba(101, 210, 255, .18);
}
.login-glass .login-header h2, .login-glass .form-label { color: #092e50; }
.login-glass .login-logo { filter: drop-shadow(0 3px 8px rgba(17, 61, 92, .16)); }
.login-glass .form-control {
    color: #123b5c;
    background: rgba(225, 246, 255, .76);
    border: 1px solid rgba(174, 224, 255, .68);
    border-radius: 10px;
    min-height: 48px;
    transition: background-color .2s, border-color .2s, box-shadow .2s;
}
.login-glass .form-control::placeholder { color: #365773; opacity: 1; }
.login-glass .form-control:focus {
    color: #123b5c;
    background: rgba(238, 251, 255, .94);
    border-color: #a7edff;
    box-shadow: 0 0 0 3px rgba(38, 167, 225, .35);
    outline: 2px solid #124972;
    outline-offset: 2px;
}
.login-glass .btn-primary {
    border-radius: 10px;
    border: 1px solid #79cfff;
    color: #073453;
    background: linear-gradient(115deg, #71c8ff, #8be2f5);
    box-shadow: 0 6px 18px rgba(10, 73, 115, .26), inset 0 1px 0 rgba(170, 232, 255, .32);
    letter-spacing: .25em;
    transition: box-shadow .2s, border-color .2s, background .2s;
}
.login-glass .btn-primary:hover { color: #073453; background: linear-gradient(115deg, #8bd4ff, #a3eaf9); border-color: #d3f6ff; box-shadow: 0 8px 22px rgba(10, 73, 115, .28); }
.login-glass .btn-primary:active { color: #073453; background: #6cc4ed; box-shadow: inset 0 2px 6px rgba(0, 0, 0, .12); }
.login-glass .alert { background: #fff1f0; color: #842029; border-color: #e9a7a3; }
@keyframes flight-panel-arrive {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes flight-edge-scan {
    0% { opacity: 0; transform: translateY(-70px); }
    15%, 75% { opacity: .9; }
    100% { opacity: 0; transform: translateY(440px); }
}
@media (max-width: 767.98px) {
    .login-scene { height: 100%; }
    .login-overlay { height: 100%; background: linear-gradient(180deg, rgba(212, 236, 255, .2), transparent 70%); }
    .login-card.login-glass { width: 100%; max-width: 400px; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .login-card.login-glass { background: rgba(139, 197, 233, .9); }
}
@media (prefers-reduced-motion: reduce) {
    .login-card.login-glass, .login-glass-scan::before { animation: none; }
    .login-glass-scan { display: none; }
    .login-glass, .login-glass .form-control, .login-glass .btn-primary { transition: none; }
}
