/*
 * index-mobile.css  (final)
 * Welcome / login page.
 *  - Laptop: unchanged (all 3 cards + CLICK HERE), only the logo size is set here.
 *  - Phones (600px wide or less): logo, Namaste!, ONE big Employee card,
 *    no Visitor / Admin / CLICK HERE. Tapping Employee opens the login form.
 */

/* ---------- Real POSSPOLE logo image (all screens) ---------- */
.brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-logo .brand-logo-img {
    display: block;
    height: 44px;
    width: auto;
    max-width: 80vw;
    object-fit: contain;
}

/* ---------- Phones ---------- */
@media (max-width: 600px) {

    html,
    body {
        min-height: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
    }

    /* Centre everything vertically and horizontally */
    body .main-wrapper {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        height: auto !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: max(16px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom)) !important;
        box-sizing: border-box !important;
    }

    body .main-wrapper .panel {
        width: 100% !important;
        max-width: 400px !important;
        box-sizing: border-box !important;
    }

    body .main-wrapper .panel.active {
        position: relative !important;
        top: auto !important;
        bottom: auto !important;
        left: auto !important;
        right: auto !important;
        inset: auto !important;
        transform: none !important;
        margin: 0 auto !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Logo */
    body .brand-logo {
        margin: 0 0 16px !important;
    }

    body .brand-logo .brand-logo-img {
        height: 34px !important;
    }

    /* "Namaste!" + "Welcome to Posspole" */
    body .namaste-heading {
        font-size: clamp(36px, 11vw, 46px) !important;
        line-height: 1.1 !important;
        margin: 0 0 6px !important;
    }

    body .welcome-sub {
        font-size: 16px !important;
        margin: 0 0 26px !important;
    }

    /* Only the Employee option on phones */
    body #tab-visitor,
    body #tab-admin,
    body #visitorRedirect {
        display: none !important;
    }

    body .main-wrapper .role-grid {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Big Employee card: icon on top, name below */
    body .main-wrapper .role-grid #tab-client {
        width: 100% !important;
        height: auto !important;
        min-height: 210px !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 20px !important;
        padding: 28px 20px !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
    }

    body .main-wrapper .role-grid #tab-client .role-icon {
        width: 80px !important;
        height: 80px !important;
        min-width: 80px !important;
        margin: 0 !important;
    }

    body .main-wrapper .role-grid #tab-client .role-icon svg {
        width: 32px !important;
        height: 32px !important;
    }

    body .main-wrapper .role-grid #tab-client .role-name {
        font-size: 26px !important;
        margin: 0 !important;
        text-align: center !important;
    }

    /* Employee / Admin login forms */
    body .main-wrapper .panel-title {
        font-size: 24px !important;
        margin: 0 0 18px !important;
        text-align: center !important;
    }

    body .main-wrapper .login-form {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin: 0 !important;
    }

    body .main-wrapper .login-form input {
        width: 100% !important;
        box-sizing: border-box !important;
        font-size: 16px !important;
        /* 16px stops iPhone from zooming in */
        padding: 14px 16px !important;
        margin: 0 !important;
    }

    body .main-wrapper .login-form .submit-btn {
        width: 100% !important;
        padding: 14px 20px !important;
        margin: 4px 0 0 !important;
    }
}

/* Short phones (iPhone SE, small Android) */
@media (max-width: 600px) and (max-height: 700px) {
    body .brand-logo .brand-logo-img {
        height: 30px !important;
    }

    body .namaste-heading {
        font-size: 34px !important;
    }

    body .welcome-sub {
        margin-bottom: 20px !important;
    }

    body .main-wrapper .role-grid #tab-client {
        min-height: 180px !important;
    }
}

/* Tall phones (most modern Android / iPhone) */
@media (max-width: 600px) and (min-height: 740px) {
    body .brand-logo {
        margin-bottom: 20px !important;
    }

    body .brand-logo .brand-logo-img {
        height: 38px !important;
    }

    body .namaste-heading {
        font-size: 50px !important;
    }

    body .welcome-sub {
        font-size: 18px !important;
        margin-bottom: 32px !important;
    }

    body .main-wrapper .role-grid #tab-client {
        min-height: 240px !important;
    }
}