/* ===========================================================================
   login-mobile.css - Mobile Responsive Styles for Login Page
   Only applies to screens up to 768px width
   Desktop view remains completely unchanged
   =========================================================================== */

/* ===========================================================================
   1. GLOBAL MOBILE RESET - REDUCED PADDING
   =========================================================================== */
@media (max-width: 768px) {
    body {
        padding: 5px !important;
    }
    
    .login-container {
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    .login-card {
        border-radius: 10px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important;
    }
    
    .login-body {
        padding: 12px 10px !important;
    }
}

@media (max-width: 480px) {
    .login-body {
        padding: 10px 6px !important;
    }
}

/* ===========================================================================
   2. HEADER SECTION - LARGER FONTS
   =========================================================================== */
@media (max-width: 768px) {
    .login-header {
        padding: 14px 10px !important;
    }
    
    .login-header h2 {
        font-size: 20px !important;
        margin: 3px 0 !important;
    }
    
    .login-header p {
        font-size: 14px !important;
        margin: 0 !important;
    }
    
    .login-header i {
        font-size: 32px !important;
        margin-bottom: 5px !important;
    }
    
    .login-header .library-name {
        font-size: 18px !important;
        margin-bottom: 3px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .login-header {
        padding: 10px 8px !important;
    }
    
    .login-header h2 {
        font-size: 17px !important;
    }
    
    .login-header p {
        font-size: 12px !important;
    }
    
    .login-header i {
        font-size: 24px !important;
        margin-bottom: 3px !important;
    }
    
    .login-header .library-name {
        font-size: 16px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
    }
}

/* ===========================================================================
   3. TABS SECTION - SCROLLABLE - LARGER FONTS
   =========================================================================== */
@media (max-width: 768px) {
    .tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin-bottom: 12px !important;
        padding: 0 !important;
        border-bottom: 2px solid #e0e0e0 !important;
        gap: 0 !important;
    }
    
    .tab-btn {
        font-size: 18px !important;
        padding: 14px 8px !important;
        white-space: nowrap !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        text-align: center !important;
        border-bottom: 3px solid transparent !important;
        font-weight: 600 !important;
    }
    
    .tab-btn i {
        margin-right: 8px !important;
        font-size: 18px !important;
    }
    
    .tab-btn.active {
        border-bottom-color: #2d6a4f !important;
    }
}

@media (max-width: 480px) {
    .tab-btn {
        font-size: 16px !important;
        padding: 12px 6px !important;
        font-weight: 600 !important;
    }
    
    .tab-btn i {
        font-size: 16px !important;
        margin-right: 6px !important;
    }
}

/* ===========================================================================
   4. FORM ELEMENTS - FULL WIDTH - LARGER FONTS
   =========================================================================== */
@media (max-width: 768px) {
    .form-group {
        margin-bottom: 10px !important;
        width: 100% !important;
    }
    
    .form-group label {
        font-size: 14px !important;
        margin-bottom: 4px !important;
        display: block !important;
    }
    
    .form-control {
        font-size: 16px !important;
        padding: 10px 12px !important;
        border-radius: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    .password-wrapper {
        width: 100% !important;
        position: relative !important;
    }
    
    .toggle-password {
        font-size: 12px !important;
        right: 10px !important;
        padding: 0 4px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        position: absolute !important;
        cursor: pointer !important;
        background: transparent !important;
    }
    
    .btn-login,
    .btn-change {
        font-size: 16px !important;
        padding: 12px !important;
        width: 100% !important;
        border-radius: 8px !important;
        margin-top: 5px !important;
        box-sizing: border-box !important;
    }
    
    .alert {
        font-size: 14px !important;
        padding: 10px 12px !important;
        border-radius: 8px !important;
        margin-bottom: 12px !important;
    }
}

@media (max-width: 480px) {
    .form-group label {
        font-size: 13px !important;
    }
    
    .form-control {
        font-size: 15px !important;
        padding: 8px 10px !important;
    }
    
    .btn-login,
    .btn-change {
        font-size: 15px !important;
        padding: 10px !important;
    }
    
    .alert {
        font-size: 13px !important;
        padding: 8px 10px !important;
    }
    
    .toggle-password {
        font-size: 11px !important;
        right: 8px !important;
    }
}

/* ===========================================================================
   5. TWO-COLUMN LAYOUT - FORCE SINGLE COLUMN ON MOBILE
   =========================================================================== */
@media (max-width: 768px) {
    /* Change Password form - Force vertical */
    .two-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }
    
    .two-columns .form-group {
        width: 100% !important;
        margin-bottom: 6px !important;
        flex: none !important;
    }
    
    .two-columns .full-width {
        width: 100% !important;
        grid-column: auto !important;
    }
    
    /* Reset Account new credentials grid - Force vertical */
    div[style*="display: grid"] {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }
    
    div[style*="display: grid"] .form-group {
        width: 100% !important;
        margin-bottom: 6px !important;
    }
    
    /* Target by class too */
    #reset_account-tab .two-columns,
    #change_password-tab .two-columns {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        grid-template-columns: none !important;
        width: 100% !important;
    }
    
    /* Fix for any inline grid styles */
    [style*="grid-template-columns: 1fr 1fr"] {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 8px !important;
    }
}

/* ===========================================================================
   6. INFO TEXT / FOOTER - LARGER FONTS
   =========================================================================== */
@media (max-width: 768px) {
    .info-text {
        font-size: 13px !important;
        padding: 10px 8px !important;
        border-radius: 8px !important;
        margin-top: 12px !important;
    }
    
    .info-text div {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    .info-text a {
        font-size: 13px !important;
    }
    
    .welcome-box {
        font-size: 14px !important;
        padding: 10px !important;
        border-radius: 8px !important;
    }
}

@media (max-width: 480px) {
    .info-text {
        font-size: 12px !important;
        padding: 8px 6px !important;
    }
    
    .info-text div {
        font-size: 12px !important;
    }
    
    .info-text a {
        font-size: 12px !important;
    }
    
    .welcome-box {
        font-size: 13px !important;
        padding: 8px !important;
    }
}

/* ===========================================================================
   7. DASHBOARD BUTTONS - VERTICAL ON MOBILE
   =========================================================================== */
@media (max-width: 768px) {
    .buttons-row {
        flex-direction: column !important;
        gap: 8px !important;
        display: flex !important;
        width: 100% !important;
    }
    
    .access-btn {
        white-space: normal !important;
        min-width: unset !important;
        padding: 12px 16px !important;
        font-size: 15px !important;
        border-radius: 8px !important;
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    
    .dashboard-buttons h3 {
        font-size: 16px !important;
        margin-bottom: 12px !important;
    }
    
    .logout-link {
        padding: 8px 18px !important;
        font-size: 14px !important;
        display: inline-block !important;
        width: auto !important;
    }
    
    .logout-row {
        margin-top: 5px !important;
        text-align: center !important;
    }
}

@media (max-width: 480px) {
    .access-btn {
        font-size: 14px !important;
        padding: 10px 14px !important;
    }
    
    .logout-link {
        font-size: 13px !important;
        padding: 6px 14px !important;
    }
}

/* ===========================================================================
   8. CONTACT ADMINISTRATOR SECTION
   =========================================================================== */
@media (max-width: 768px) {
    [style*="text-align: center; margin-top: 15px; padding: 8px; background: #fef3c7;"] {
        font-size: 12px !important;
        padding: 8px 10px !important;
        margin-top: 10px !important;
        border-radius: 6px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    [style*="text-align: center; margin-top: 15px; padding: 8px; background: #fef3c7;"] span {
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    [style*="text-align: center; margin-top: 15px; padding: 8px; background: #fef3c7;"] {
        font-size: 11px !important;
        padding: 6px 8px !important;
    }
    
    [style*="text-align: center; margin-top: 15px; padding: 8px; background: #fef3c7;"] span {
        font-size: 11px !important;
    }
}

/* ===========================================================================
   9. RESET ACCOUNT SECTION - VERTICAL ON MOBILE
   =========================================================================== */
@media (max-width: 768px) {
    /* Reset account option cards - vertical */
    [style*="background: #1e1e2e; border-radius: 12px;"] {
        border-radius: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label {
        padding: 10px 12px !important;
        flex-wrap: wrap !important;
        gap: 3px !important;
        display: flex !important;
        align-items: flex-start !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label strong {
        font-size: 14px !important;
        display: block !important;
        width: 100% !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label small {
        font-size: 11px !important;
        display: block !important;
        margin-top: 2px !important;
        width: 100% !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label input[type="radio"] {
        margin-right: 8px !important;
        flex-shrink: 0 !important;
        margin-top: 2px !important;
    }
    
    /* Master user verification box */
    [style*="background: #f3e8ff; padding: 20px; border-radius: 10px;"] {
        padding: 12px !important;
        margin: 10px 0 !important;
        border-radius: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    [style*="background: #f3e8ff; padding: 20px; border-radius: 10px;"] .form-group {
        margin-bottom: 0 !important;
        width: 100% !important;
    }
    
    [style*="background: #f3e8ff; padding: 20px; border-radius: 10px;"] .form-group label {
        font-size: 14px !important;
    }
    
    /* Reset button */
    .btn-change[style*="background: #dc3545"] {
        font-size: 15px !important;
        padding: 12px !important;
        margin-top: 5px !important;
        width: 100% !important;
        border-radius: 8px !important;
        display: block !important;
        clear: both !important;
    }
    
    /* Change Password submit button */
    .btn-change:not([style*="background: #dc3545"]) {
        margin-top: 5px !important;
        width: 100% !important;
        display: block !important;
        clear: both !important;
    }
    
    #reset_account-tab .btn-change,
    #change_password-tab .btn-change {
        display: block !important;
        clear: both !important;
        margin-top: 10px !important;
        width: 100% !important;
        position: relative !important;
    }
}

@media (max-width: 480px) {
    [style*="background: #1e1e2e; border-radius: 12px;"] label strong {
        font-size: 13px !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label small {
        font-size: 10px !important;
    }
    
    .btn-change[style*="background: #dc3545"] {
        font-size: 14px !important;
        padding: 10px !important;
    }
}

/* ===========================================================================
   10. REMEMBER ME CHECKBOX
   =========================================================================== */
@media (max-width: 768px) {
    .remember-me {
        margin-bottom: 12px !important;
        gap: 6px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    .remember-me input {
        width: 18px !important;
        height: 18px !important;
        flex-shrink: 0 !important;
    }
    
    .remember-me label {
        font-size: 14px !important;
        cursor: pointer !important;
    }
    
    .remember-me i {
        font-size: 14px !important;
    }
}

@media (max-width: 480px) {
    .remember-me label {
        font-size: 13px !important;
    }
    
    .remember-me i {
        font-size: 13px !important;
    }
}

/* ===========================================================================
   11. BUTTON OVERLAP FIX
   =========================================================================== */
@media (max-width: 768px) {
    #change_password-tab form,
    #reset_account-tab form {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        width: 100% !important;
    }
    
    #change_password-tab .btn-change,
    #reset_account-tab .btn-change {
        position: relative !important;
        margin-top: 8px !important;
        clear: both !important;
        display: block !important;
        width: 100% !important;
        flex-shrink: 0 !important;
    }
    
    .btn-change {
        display: block !important;
        clear: both !important;
        margin-top: 8px !important;
        position: relative !important;
        width: 100% !important;
        flex-shrink: 0 !important;
    }
    
    #change_password-tab form > *,
    #reset_account-tab form > * {
        flex-shrink: 0 !important;
        width: 100% !important;
    }
    
    [style*="border-top: 1px solid #404060; margin: 20px 0;"] {
        margin: 10px 0 !important;
    }
}

/* ===========================================================================
   12. VERY SMALL SCREENS (320px - 400px)
   =========================================================================== */
@media (max-width: 400px) {
    .login-container {
        padding: 0 !important;
    }
    
    .login-body {
        padding: 8px 4px !important;
    }
    
    .login-header h2 {
        font-size: 15px !important;
    }
    
    .login-header p {
        font-size: 11px !important;
    }
    
    .login-header i {
        font-size: 22px !important;
    }
    
    .login-header .library-name {
        font-size: 15px !important;
    }
    
    .login-header {
        padding: 8px 6px !important;
    }
    
    .tab-btn {
        font-size: 10px !important;
        padding: 6px 3px !important;
    }
    
    .tab-btn i {
        font-size: 10px !important;
        margin-right: 2px !important;
    }
    
    .form-control {
        font-size: 14px !important;
        padding: 6px 8px !important;
    }
    
    .btn-login,
    .btn-change {
        font-size: 14px !important;
        padding: 8px !important;
    }
    
    .alert {
        font-size: 12px !important;
        padding: 6px 8px !important;
    }
    
    .info-text {
        font-size: 11px !important;
        padding: 6px 4px !important;
    }
    
    .info-text div {
        font-size: 11px !important;
    }
    
    .welcome-box {
        font-size: 12px !important;
        padding: 6px !important;
    }
    
    .access-btn {
        font-size: 13px !important;
        padding: 8px 12px !important;
    }
    
    .logout-link {
        font-size: 12px !important;
        padding: 5px 12px !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label strong {
        font-size: 12px !important;
    }
    
    [style*="background: #1e1e2e; border-radius: 12px;"] label small {
        font-size: 9px !important;
    }
    
    [style*="background: #f3e8ff; padding: 20px; border-radius: 10px;"] {
        padding: 8px !important;
    }
    
    .btn-change[style*="background: #dc3545"] {
        font-size: 13px !important;
        padding: 8px !important;
    }
    
    .remember-me label {
        font-size: 12px !important;
    }
    
    .form-group label {
        font-size: 12px !important;
    }
}

/* ===========================================================================
   13. DESKTOP VIEW FIX - NO INNER SCROLL (769px+)
   =========================================================================== */
@media (min-width: 769px) {
    .tab-content {
        min-height: auto !important;
        max-height: none !important;
        overflow-y: visible !important;
        overflow-x: visible !important;
        padding-right: 0 !important;
    }
    #reset_account-tab {
        overflow: visible !important;
        height: auto !important;
    }
    #reset_account-tab form {
        overflow: visible !important;
        height: auto !important;
    }
    .form-group {
        overflow: visible !important;
    }
    .tabs {
        min-height: 48px !important;
    }
    .tab-btn {
        min-height: 44px !important;
        padding: 10px 15px !important;
        font-size: 15px !important;
    }
    .login-body {
        padding: 20px 30px !important;
        overflow: visible !important;
    }
    .info-text {
        padding: 10px 15px !important;
        margin-top: 10px !important;
    }
    .info-text div {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
}