        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        :root { --brand-dark:#0f172a; --brand-mid:#1e293b; --brand-accent:#38bdf8; --brand-accent2:#818cf8; }

        body {
            min-height: 100vh;
            font-family: 'Inter', sans-serif;
            background-color: var(--brand-dark);
            background-image:
                radial-gradient(ellipse 80% 70% at 50% 50%, rgba(56,189,248,0.06) 0%, rgba(15,23,42,0) 70%),
                url('Images/logo-ghost.png');
            background-size: auto, 220px 220px;
            background-repeat: no-repeat, repeat;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 24px 16px;
            position: relative;
        }
        body::before { content:''; position:fixed; top:-80px; right:-80px; width:380px; height:380px; background:url('Images/logo-white.png') no-repeat center/contain; opacity:.04; pointer-events:none; z-index:0; }
        body::after  { content:''; position:fixed; bottom:-80px; left:-80px; width:340px; height:340px; background:url('Images/logo-white.png') no-repeat center/contain; opacity:.04; pointer-events:none; z-index:0; }

        .page-wrapper { position:relative; z-index:10; width:100%; max-width:460px; display:flex; flex-direction:column; align-items:center; gap:24px; }

        .brand-header { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
        .brand-logo { width:70px; height:70px; background:url('Images/logo-white.png') no-repeat center/contain; filter:drop-shadow(0 0 18px rgba(56,189,248,0.4)); animation:logoFloat 4s ease-in-out infinite; }
        @keyframes logoFloat { 0%,100%{transform:translateY(0); filter:drop-shadow(0 0 18px rgba(56,189,248,0.4));} 50%{transform:translateY(-5px); filter:drop-shadow(0 0 28px rgba(56,189,248,0.65));} }
        .brand-name { font-size:1.7rem; font-weight:700; color:#f1f5f9; letter-spacing:-0.02em; }
        .brand-tagline { font-size:0.75rem; color:#475569; letter-spacing:0.15em; text-transform:uppercase; }

        .login-container {
            position:relative; overflow:hidden;
            width:100%;
            background: rgba(30,41,59,0.72);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 20px;
            padding: 36px 32px;
            box-shadow: 0 25px 50px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(56,189,248,0.05);
        }
        .login-container::after { content:''; position:absolute; bottom:-15px; right:-15px; width:110px; height:110px; background:url('Images/logo-white.png') no-repeat center/contain; opacity:0.05; pointer-events:none; }
        .login-container h1 { font-size:1.15rem; font-weight:600; color:#f1f5f9; margin-bottom:24px; text-align:center; }

        .form-group { margin-bottom: 18px; }
        .form-group label { display:block; margin-bottom:7px; font-size:0.78rem; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:0.09em; }
        .form-group input {
            width:100%; padding:12px 14px;
            background: rgba(15,23,42,0.6);
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 10px;
            font-size: 15px; color: #f1f5f9;
            font-family:'Inter',sans-serif;
            transition: border-color .25s, box-shadow .25s;
        }
        .form-group input::placeholder { color:#334155; }
        .form-group input:focus { outline:none; border-color:var(--brand-accent); box-shadow:0 0 0 3px rgba(56,189,248,0.12); }

        .btn-login {
            width:100%; padding:13px; border:none; border-radius:10px;
            background: linear-gradient(135deg, var(--brand-accent) 0%, var(--brand-accent2) 100%);
            color:#0f172a; font-size:15px; font-weight:700; font-family:'Inter',sans-serif;
            cursor:pointer; transition:transform .2s, box-shadow .2s; letter-spacing:0.02em; margin-top:4px;
        }
        .btn-login:hover { transform:translateY(-1px); box-shadow:0 8px 25px rgba(56,189,248,0.35); }
        .btn-login:active { transform:translateY(0); }

        .error-message { background:rgba(220,38,38,0.12); border:1px solid rgba(220,38,38,0.3); color:#fca5a5; padding:12px 14px; border-radius:10px; margin-bottom:18px; font-size:14px; text-align:center; }
        .success-message { background:rgba(16,185,129,0.12); border:1px solid rgba(16,185,129,0.3); color:#6ee7b7; padding:12px 14px; border-radius:10px; margin-bottom:18px; font-size:14px; text-align:center; }

        .back-link { display:block; text-align:center; margin-top:18px; color:#475569; text-decoration:none; font-size:13px; transition:color .2s; }
        .back-link:hover { color:var(--brand-accent); }

        .page-footer { font-size:11px; color:#1e293b; text-align:center; }

        @media (max-width:480px) { .login-container { padding:28px 18px; } .brand-logo { width:56px; height:56px; } .brand-name { font-size:1.4rem; } }
    
