   body {
            background: #95b3bb;
            font-family: "Nunito", sans-serif;
            text-align: center;
            display: flex;
            height: 100%;
            margin: 0px;
            padding: 0px;
            position: relative;
            min-height: 100vh;
            background-color: #171c24;           
        }

        #gateman-container {
            align-self: center;
            padding: 2rem;
            position: relative;
            width: 90%;
            margin: 20px auto;
            box-sizing: border-box;
            border: 2px rgb(83, 133, 145) solid;
            box-shadow: 0px 5px 15px -6px rgba(0,0,0,0.75);
            border-radius: 20px;
            max-width: 575px;
            background: rgba(5, 13, 25, 0.569);
            color:#fff;
         
        }

      #gateman-container h1 {
            font-weight: 900;
            margin: 10px 0px;
            color: rgb(83, 133, 145);
            letter-spacing: 5px;
            font-size: 75px;
            text-align: center;
            transform: translateY(-35px);
            text-shadow: 0px 2px 10px rgba(0, 0, 0, 0.25);
        }
 #gateman-container img {
    display: block;
    margin: auto;
}

h1.head-med{
    font-size: 35px!important;
}
       #gateman-container .toph h1 {
            transform: translateY(20px);
            font-size: 25px;
            margin: 10px 25px;
            display: inline-block;
            font-weight: 700;
        }

       #gateman-container .number {
            color: #CDC5BD;
        }
    #gateman-container .qrcode {
    display: inline-block;
    padding: 10px;
    background: #fff;
}
    #gateman-container .qrcode svg {
    display: block;
    width: 200px;
    height: 200px;
}
        #details {
            text-align: center;
            font-size: 1rem;
            display: block;
            width: 100%;
            max-width: 100%;
            min-width: 0;
            color: #fff;
        }

        #details form {
            width: 100%;
            max-width: 100%;
            min-width: 0;
        }

        #details span {
            display: block;
            color: rgb(83, 133, 145);
        }
       #gateman-container a{
    text-decoration: none;
    color: azure;   
    transition: background-color 0.2s, color 0.2s;
    }

#gateman-container a.linkto {
     border: 1px solid;
    border-radius: 4px;
    padding: .5rem 1.5rem;
}
#gateman-container a:hover {    
    color:cornflowerblue;
}
 p{    
    text-align: left!important;
}
 /* Input group styles inspired by Bootstrap */
    .input-group {
      display: flex;
      align-items: stretch;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      box-sizing: border-box;
      margin-bottom: 1.5rem;
    }
    .input-group-text {
      display: flex;
      align-items: center;
      padding: 12px 15px;
      border-right: none;
      background-color: #eee;
      color: #555;
      border-radius: 4px 0 0 4px;
      
      white-space: nowrap;
    }
    .input-group input {
    flex: 1;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 15px;
    font-size: 1rem;
    border-left: none;
    border-radius: 0 4px 4px 0;
    outline: none;
   
}
 #gateman-container button {
      max-width: 50%;
      padding: 12px 25px;
      font-size: 1.2rem;
      background-color: #2980b9;
      color: #fff;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      transition: background-color 0.3s, color 0.3s ease;   
    }
#gateman-container button:hover {
    background-color:aqua;
    color: #111;
}

.gateman-alert {
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    border-radius: 6px;
    font-size: 0.9rem;
    text-align: left;
    border: 1px solid transparent;
}
.gateman-alert-danger {
    background-color: #2d0b0b;
    border-color: #842029;
    color: #f5c6cb;
}
.gateman-alert-success {
    background-color: #0b2d16;
    border-color: #0f5132;
    color: #a3cfbb;
}

/* ── Responsive: phones / small screens ─────────────────────────── */
@media (max-width: 575.98px) {
    #gateman-container {
        width: 94%;
        padding: 1.25rem;
        margin: 12px auto;
        border-radius: 14px;
    }
    #gateman-container h1 {
        font-size: 46px;
        letter-spacing: 3px;
        transform: translateY(-18px);
    }
    h1.head-med { font-size: 26px !important; }
    #gateman-container .toph h1 {
        font-size: 20px;
        margin: 8px 12px;
    }
    #gateman-container button {
        max-width: 100%;
        width: 100%;
    }
    /* Stack label above input so the group never overflows narrow screens */
    .input-group {
        flex-direction: column;
        flex-wrap: nowrap;
    }
    .input-group-text {
        width: 100%;
        justify-content: center;
        border-radius: 4px 4px 0 0;
    }
    .input-group input {
        width: 100%;
        max-width: 100%;
        border-radius: 0 0 4px 4px;
    }
    #gateman-container .qrcode svg {
        width: 160px;
        height: 160px;
    }
    /* 2FA one-time-code grid (defined inline on the 2FA pages) */
    .otp-grid { gap: 0.35rem; }
    .otp-digit {
        width: 2.3rem;
        height: 2.8rem;
        font-size: 1.2rem;
    }
}
